Tags
- 건담
- 시청
- CS231n
- 대만여행
- 전주
- 우리fisa
- 군산
- 사진
- SQL
- 여행
- fdr-x3000
- 수요미식회
- 오사카
- 축복이
- 맛집
- 해리포터
- 17-55
- 글로벌소프트웨어캠퍼스
- 대만
- 도쿄
- 축복렌즈
- 카페
- 650d
- Python
- 전시
- k-디지털트레이닝
- ai_엔지니어링
- 우리fis아카데미
- 제주도
- 우리에프아이에스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Today
- Total
Recent Posts
300x250
브렌쏭의 Veritas_Garage
[Docker-Compose] Advanced Options 본문
setup, init Options in compose file
setup
andinit
options in compose filesetup
option: run before the service startsinit
option: run before the service starts, but only once
services:
web:
image: nginx
setup: |
echo "Setting up web service"
init: |
echo "Initializing web service"
docker-compose up
실행시,setup
과init
이 실행됨setup
은 서비스 시작 전에 실행init
은 서비스 시작 전에 한 번만 실행
docker-compose up --no-setup
옵션을 사용하면,setup
과init
을 실행하지 않음docker-compose up --no-init
옵션을 사용하면,init
만 실행하지 않음
setup
과init
은docker-compose up
실행시에만 실행됨
docker-compose up
실행시에만 실행되는 명령어를 사용할 때 유용함- 초기 설정이나 초기화 작업을 할 때 사용
to use .env file in docker-compose
.env
파일을 사용하는 방법docker-compose.yml
파일에서 환경 변수를 사용할 때,.env
파일을 사용할 수 있음.env
파일에 환경 변수를 저장하고,docker-compose.yml
파일에서 사용
# .env
MY_ENV=hello
# docker-compose.yml
services:
web:
image: nginx
environment:
- MY_ENV=${MY_ENV}
- 따로 환경 변수를 설정하지 않아도,
.env
파일에 저장된 환경 변수를 사용할 수 있음- 따로 .env 파일의 경로를 지정할 필요가 없음
/var/run/docker.sock
/var/run/docker.sock
: Docker daemon socket- Docker daemon과 통신할 때 사용하는 소켓 파일
- Docker daemon에 명령을 전달할 때 사용
- 보통 Docker CLI를 사용하여 Docker daemon에 명령을 전달
services:
web:
image: nginx
volumes:
- /var/run/docker.sock:/var/run/docker.sock
docker-compose.yml
파일에서/var/run/docker.sock
을 사용할 때, Docker daemon에 접근할 수 있는 권한이 있는 사용자만 사용할 수 있음root
사용자만 접근 가능root
사용자가 아닌 경우,Permission denied
에러 발생
docker-compose.yml
파일에서/var/run/docker.sock
을 사용할 때, 주의해야 함
Docker Compose Network
- Docker Compose Network
- Docker Compose로 생성된 컨테이너들은 기본적으로 동일한 네트워크에 속함
networks:
my-network:
driver: bridge
Bridge Network
- Bridge Network: 기본적으로 생성되는 네트워크
- 컨테이너들이 동일한 네트워크에 속함
- 컨테이너들은 서로 통신 가능
Docker Compose Volume
- Docker Compose Volume
- Docker Compose로 생성된 컨테이너들은 기본적으로 동일한 볼륨을 공유
Directory Volume vs Named Volume
- Directory Volume: 호스트 디렉토리를 볼륨으로 사용
- 호스트 디렉토리를 볼륨으로 사용
- Named Volume: 볼륨 이름을 사용
- 볼륨 이름을 사용하여 볼륨을 생성
- 볼륨 이름을 사용하여 컨테이너에서 볼륨을 사용
docker-compose.yml
파일에서 볼륨을 사용할 때,directory volume
과named volume
을 사용할 수 있음
services:
web:
image: nginx
volumes:
- /path/to/host/directory:/path/to/container/directory
- volume-name:/path/to/container/directory
'[Project_하다] > [Project_공부]' 카테고리의 다른 글
[Linux] 리눅스 권한 (4) | 2024.08.09 |
---|---|
[Linux_Shell] 존재 여부만 알아두면 나중에 쓸모있을 정보 (0) | 2024.08.08 |
[Linux] 대충 잊어먹기 쉬운 것들 (0) | 2024.08.07 |
[Docker] Multi Stage Build (0) | 2024.08.06 |
[Docker] Container (0) | 2024.08.01 |
[SQLD] 성능 데이터 모델링 (0) | 2024.07.30 |
[우리FISA] Delimiter, Trigger, Partition (0) | 2024.07.30 |
Comments