목차
네트워킹
myapp이라는 디렉토리에 다음과 같은 docker-compse.yml이 있다면
version: "3"
services:
web:
build: .
ports:
- "8000:8000"
db:
image: postgres
ports:
- "8001:5432"
docker-compose up 을 실행하면
- 'myapp_default'라는 네트워크가 생성된다.
- 'web'의 설정을 사용한 컨테이너가 생성되고, 'web'이란 이름으로 'myapp_default'에 연결된다.
- 'db'의 설정을 사용한 컨테이너가 생성되고, 'db'라는 이름으로 'myapp_default'에 연결된다.
compose file
https://docs.docker.com/compose/compose-file/
version 3
links
Link to containers in another service. Either specify both the service name and a link alias ("SERVICE:ALIAS"), or just the service name.
web:
links:
- "db"
- "db:database"
- "redis"
ports
호스트(컴퓨터)에 노출할 포트
ports:
- "3000"
- "3000-3005"
- "8000:8000"
- "9090-9091:8080-8081"
- "49100:22"
- "127.0.0.1:8001:8001"
- "127.0.0.1:5000-5010:5000-5010"
- "6060:6060/udp"
- "12400-12500:1240"
expose
Expose ports without publishing them to the host machine - they’ll only be accessible to linked services. Only the internal port can be specified.
expose:
- "3000"
- "8000"
environment
environment:
RACK_ENV: development
SHOW: 'true'
SESSION_SECRET:
environment:
- RACK_ENV=development
- SHOW=true
- SESSION_SECRET