1. FROM

#Dockerfile
FROM alpine

 

3. Dockerfile로 이미지 작성

$ docker build 옵션 Dockerfile_경로
옵션 설명
-t / -tag 이미지 이름 설정
이미지이름:태그 도 가능 디폴트는 latest
-f 이미지 빌드시 디폴트로 Dockerfile 파일명으로 된 파일을 찾아서 이미지를 빌드
--pull FROM은 지정된 이미지 한 번 다운로드시, 받은 이미지를 사용하지만
pull 사용시 생성시마다 새로 다운 받음
--pull=true

 

$ docker build --tag test ./

 

2. LABEL

- <key>=<value> 형식으로 메타 데이터를 넣음

- 저자, 버전, 작성일자 등을 작성

#Dockerfile
LABEL maintainer="hyeonukdev"
LABEL version="1.0.0"
LABEL description="test Dockerfile"

 

3. COPY

- 특정 폴더를 docker 컨테이너 안의 폴더에 복사하기 위해 사용

#Dockerfile
FROM httpd:alpine

LABEL maintainer="hyeonukdev"
LABEL version="1.0.0"
LABEL description="test Dockerfile"

COPY ./2021_DEV_HTML /usr/local/apache2/htdocs

 

이미지 빌드

$ docker build --tag myweb .

$ docker run -d -p 9999:80 --name apacheweb myweb

 

- 이미지 조사

$ docker inspect myweb

 

4. CMD

- 3가지 방법이 존재

1. 명령어, 인자를 리스트 처럼 작성하는 형태

#Dockerfile
CMD ["/bin/sh", "-c", "echo", "Hello"]

 

2. ENTRYPOINT 명령어에 인자를 넘겨주는 형태

#Dockerfile
CMD ["param1". "param2", ...]

 

3. 쉘 명령어처럼 작성하는 형태

#Dockerfile
CMD <command> <param1> <param2> ...

 

- 1번을 추천

- CMD는 하나의 Dockerfile에서 한 가지만 설정되며, 여러개의 CMD가 있는 경우 맨 마지막에 설정된 CMD만 적용

 

#Dockerfile
FROM httpd:alpine

LABEL maintainer="hyeonukdev"
LABEL version="1.0.0"
LABEL description="test Dockerfile"

COPY ./2021_DEV_HTML /usr/local/apache2/htdocs

CMD ["/bin/sh", "-c", "httpd-foreground"]

 

 

- 컨테이너 에러 또는 로그 출력

$ docker logs 컨테이너ID or 이름

 

- 컨테이너 즉시 중지

$ docker kill 컨테이너ID or 이름

   - stop은 중단하지 않고 실행중인 단계까지 기다린 후 중지하지만

   - kill 은 즉시 중지

반응형

'SW ENGINEERING > Docker' 카테고리의 다른 글

Docker Inspect  (0) 2021.07.23
Dockerfile 기본문법(2)  (0) 2021.07.23
Dockerfile 이란?  (0) 2021.07.22
Docker Run example  (0) 2021.07.22
Docker Container 명령어  (0) 2021.07.22
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기