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 의 차이점
dockerFile과 docker-compose.yml 의 차이점
도커를 공부하다보니 궁금한 점이 생겼다. 원하는 어플리케이션을 도커에 띄울 때 dockerFile을 사용하기도 하고 docker-compose.yml을 사용하기도 한 다. 왜 둘이 분리해놓은 것일까? 다른 점은 무엇일
velog.io
1. 주의 사항
Dockerfile 기반으로 빌드시 하위 디렉터리에서 진행하며, 불필요한 파일을 포함하지 않도록 해주세요.
https://docs.docker.com/engine/reference/builder/
Dockerfile reference
docs.docker.com
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]
참고 사이트
https://wooono.tistory.com/123
[Docker] Dockerfile 개념 및 작성법
Dockerfile Dockerfile은 DockerImage를 생성하기 위한 스크립트(설정파일)이다. 여러가지 명령어를 토대로 Dockerfile을 작성한 후 빌드하면 Docker는 Dockerfile에 나열된 명령문을 차례대로 수행하며 DockerIma..
wooono.tistory.com
https://blog.d0ngd0nge.xyz/docker-dockerfile-write/
Docker - Dockerfile 작성 / Build (이미지 제작)
[Docker - Dockerfile Write] 인프라 구성을 관리 및 효율적으로 운영하기 위해 "Dockerfile"를 이용할 수 있으며, Dockerfile를 작성하여 사용자가 원하는 설계 방향이나 설정된 내용으로 도커 이미지를 제작
blog.d0ngd0nge.xyz
https://velog.io/@ehgks0000/Docker-stack%EA%B3%BC-docker-compose%EC%9D%98-%EC%B0%A8%EC%9D%B4
Docker stack과 docker-compose의 차이
Docker를 셋팅하다보면 Docker와 Docker Compose를 고민하게되고, docker-compose를 파다보면, docker-compose와 동일한 파일을 사용하는 것 같은 docker stack을 발견하게 된다. 그래서 오늘은 docker-compose와
velog.io
'프로젝트 설정 > 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 |