반응형
test를 하느라 run을 하는데 명령어를 그때그때마다 다 쓰기가 힘든 경우가 있으며
여러 사람이 각자의 환경에서 run을 하는 경우 run의 옵션등을 누락하여 환경이 달라질 수 있다.
run을 할때마다 옵션을 계속 쓰지 않고 파일 관리하여 빠르고 쉽게 시작하고 관리할 수 있는것이 DockerFile인줄 알았는데 아니더라..
>> 이쪽은 Docker-compose가 더 가깝다.
>> docker run script로 시작하기 (docker run 명령어 기억하기 / docker run 재사용)
Docker Build (image 생성)를 위한 DockerFile에 대하여 알아보자.
다중 컨테이너 관련해서는 Docker-compose를 확인하자.
dockerFile과 docker-compose.yml 의 차이점
1. 주의 사항
Dockerfile 기반으로 빌드시 하위 디렉터리에서 진행하며, 불필요한 파일을 포함하지 않도록 해주세요.
https://docs.docker.com/engine/reference/builder/
2. Dockerfile 구문 및 옵션
그러면 본격적으로 Dockerfile를 작성해보도록 하겠습니다.
Dockerfile은 텍스트 형식이며, 파일명 또한 "Dockerfile" 입니다. 확장자는 따로 존재하지 않습니다.
아래 내용은 Dockerfile에 작성되는 명령 옵션 입니다.
- FROM : Docker Base Image (기반이 되는 이미지, <이미지 이름>:<태그> 형식으로 설정)
- MAINTAINER : 메인테이너 정보 (작성자 정보)
- RUN : Shell Script 또는 명령을 실행
- CMD : 컨테이너가 실행되었을 때 명령이 실행
- LABEL : 라벨 작성 (docker inspect 명령으로 label 확인할 수 있습니다.)
- EXPOSE : 호스트와 연결할 포트 번호를 설정한다.
- ENV : 환경변수 설정
- ADD : 파일 / 디렉터리 추가
- COPY : 파일 복사
- ENTRYPOINT : 컨테이너가 시작되었을 때 스크립트 실행
- VOLUME : 볼륨 마운트
- USER : 명령 실행할 사용자 권한 지정
- WORKDIR : "RUN", "CMD", "ENTRYPOINT" 명령이 실행될 작업 디렉터리
- ARG : Dockerfile 내부 변수
- ONBUILD : 다른 이미지의 Base Image로 쓰이는 경우 실행될 명령 수행
- SHELL : Default Shell 지정
3. Docker File 예제
Simple
# DockerFile
FROM ubuntu:16.0.4
ENTRYPOINT [bash]
참고 사이트
반응형
'프로젝트 설정 > Docker' 카테고리의 다른 글
[Docker] 컨테이너 내부에서 자신의 ID 확인하기 (0) | 2022.09.15 |
---|---|
[Docker] host(local)와 container 파일 복사 (0) | 2022.04.01 |
[Docker] Ubuntu 18.04에서 NodeJS 프로젝트 하기 (feat. AWS EC2) (0) | 2022.02.21 |
[Docker] 사용되고 있는 port 주인(container) 확인하기 (feat. PID, -net host) (0) | 2021.12.30 |
[Docker] mariadb install (mariadb image 사용) (0) | 2021.12.10 |