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 |
최근댓글