다루는 명령어
docker-compose -f mogo-service.yaml up -d
docker-compose -f mogo-service.yaml down
docker-compose -f mogo-service.yaml start
docker-compose -f mogo-service.yaml stop
docker network ls
docker compose 기본 개념
- a tool for defining and running multi-container apps.
- simplifies the control of your entire application stack, making it easy to manage services, networks, and volumes in a single.
- by default, compose sets up a single network for your app
mongo-service.yaml
version: '3.1'
services:
my-app:
build: .
ports:
- 3000:3000
environment:
MONGO_DB_USERNAME: ${MONGO_ADMIN_USER}
MONGO_DB_PWD: ${MONGO_ADMIN_PASS}
mongodb:
image: mongo
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_ADMIN_USER}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_ADMIN_PASS}
mongo-express:
image: mongo-express
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: ${MONGO_ADMIN_USER}
ME_CONFIG_MONGODB_ADMINPASSWORD: ${MONGO_ADMIN_PASS}
ME_CONFIG_MONGODB_SERVER: mongodb
depends_on:
- "mongodb"
docker compose 백그라운드 실행
➜ docker-compose -f mongo-services.yaml up -d
✔ Network docker-compose-study_default Created 0.1s
✔ Container docker-compose-study-mongo-express-1 Created 0.5s
✔ Container docker-compose-study-mongodb-1 Created
network 자동 생성 확인
➜ docker network ls
NETWORK ID NAME DRIVER SCOPE
deea089822c8 docker-compose-study_default bridge local
compose로 열린 container 내리고 삭제
➜ docker-compose-study docker-compose -f mongo-services.yaml down
[+] Running 3/3
✔ Container docker-compose-study-mongo-express-1 Removed 0.4s
✔ Container docker-compose-study-mongodb-1 Removed 0.3s
✔ Network docker-compose-study_default Removed
docker-compose down을 하면, running container가 stop 되고 삭제된다. 삭제되면, container 안의 있던 데이터가 삭제된다. 삭제되지 않게 하기 위해서는 stop만 할 수 있는 명령어를 사용한다. 삭제되더라도 데이터 살리고 싶으면 volume을 사용하면 된다.
stop 명령어 실습
➜ docker-compose-study docker-compose -f mongo-services.yaml stop
[+] Stopping 2/2
✔ Container docker-compose-study-mongo-express-1 Stopped 0.3s
✔ Container docker-compose-study-mongodb-1 Stopped
start 명령어 실습
➜ docker-compose-study docker-compose -f mongo-services.yaml start
[+] Running 2/2
✔ Container docker-compose-study-mongodb-1 Started 0.2s
✔ Container docker-compose-study-mongo-express-1 Started
yaml 파일에 credential 정보 숨기기
- 환경 변수로 하기 (여전히 보안 이슈가 있음)
- secrets 활용하기
services:
myapp:
image: myapp:latest
secrets:
- my_secret
secrets:
my_secret:
file: ./my_secret.txt
'IT' 카테고리의 다른 글
[docker] 동작원리 (0) | 2024.06.10 |
---|---|
[docker] volume (0) | 2024.06.04 |
[docker] 이미지 받고 실행하기 / 빌드 후 실행하기 (1) | 2024.06.03 |
[linux] lsof command (0) | 2024.06.03 |
[tcp] connection 개론 (1) | 2024.05.10 |