Docker-compose

04/01/2022   Docker
Docker-compose
docker-compose-all.yml
version: '3.7'
services:
app:
image: node:12-alpipe
environment:
MYSQL_HOST: mysql
MYSQL_USER: root
MYSQL_PASSWORD: secret
MYSQL_DB: todos
working_dir: /app
volume:
- ./:/app
ports:
- 3000:3000
command: sh -c "apk add --no-cache python2 g++ make && yarn install && yarn run dev"
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: todos
volume:
- todo-vol:/var/lib/mysql
platform: linux/amd64
volumns:
todo-vol:
=> run: docker-compose up
1. Cấu trúc thư mục docker-compose
+ docker-compose.yml : khai báo tất car services môi trường
+ app.dockerfile: app service cho docker compose ở file .yml
+ web.dockerfile: service web cho compose ở trên
2. Các khái niệm trong docker-compose.yml
- services: là các containers
- build: để run 1 Dockerfile (thay cho image)
- image: nguồn tải images
- container_name: tên container
- restart: restart khi hệ thống restart
- working_dir: thư mục muốn container làm việc
- volumes: map folder/file từ ngoài máy thật vào trong container (tính theo vị trí file docker-compose.yml)
- networks: sẽ đảm nhiệm nhiệm vụ kết nối mạng giữa các container >> xem thêm
- environment: định nghĩa các biến môi trường
- port: kết nối port từ container đến host theo cách thức host:container >> xem thêm
- ip container: >> xem thêm >> xem thêm
3. lệnh docker-compose
b1. Khai báo app’s environment trong Dockerfile (build các image)
b2. Khai báo các services cần thiết để chạy application trong file docker-compose.yml. (build và run các container)
b3. Run docker-compose up để start và run app.
- docker-compose ps: xem các port sử dụng
- docker-compose build : build lai app
- docker-compose up: khởi chạy ứng dụng
- docker-compose down: go cac thanh phan de sua file docker-compose.yml

