1. Cài đặt Docker trên Linux
1.1. Cài đặt các gói phụ thuộc
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1.2. Cài đặt Docker
sudo yum install -y docker
1.3. Khởi động và dừng Docker
Khởi động:
sudo systemctl start docker
Dừng:
sudo systemctl stop docker
2. Quản lý Container với docker-compose
2.1. Tải xuống docker-compose
2.1.1. Tải về tệp thực thi
curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
2.1.2. Cấp quyền thực thi
sudo chmod +x /usr/local/bin/docker-compose
2.1.3. Kiểm tra cài đặt
docker-compose --version
2.2. Tạo tệp cấu hình docker-compose.yml
2.2.1. Tạo thư mục dự án
cd /home
mkdir docker-project
cd docker-project
touch docker-compose.yml
2.2.2. Nội dung tệp docker-compose.yml
version: '3.8'
services:
cs-mysql:
image: mysql:8.0
privileged: true
ports:
- "3307:3306"
environment:
- MYSQL_ROOT_PASSWORD=SecurePass123!
volumes:
- /home/docker/mysql/config/my.cnf:/etc/mysql/my.cnf
- /home/docker/mysql/data:/var/lib/mysql
networks:
- app-network
cs-redis:
image: redis:6.2
privileged: true
ports:
- "6380:6379"
volumes:
- /home/docker/redis/config/redis.conf:/etc/redis/redis.conf
networks:
- app-network
command: redis-server /etc/redis/redis.conf
cs-webapp-1:
image: tomcat:9.0-jdk11
privileged: true
ports:
- "8081:8080"
volumes:
- /home/docker/tomcat/webapps:/usr/local/tomcat/webapps
networks:
- app-network
depends_on:
- cs-mysql
- cs-redis
cs-webapp-2:
image: tomcat:9.0-jdk11
privileged: true
ports:
- "8082:8080"
volumes:
- /home/docker/tomcat/webapps:/usr/local/tomcat/webapps
networks:
- app-network
depends_on:
- cs-mysql
- cs-redis
cs-loadbalancer:
image: nginx:1.21
privileged: true
ports:
- "80:80"
volumes:
- /home/docker/nginx/conf.d:/etc/nginx/conf.d
- /home/docker/nginx/logs:/var/log/nginx
networks:
- app-network
depends_on:
- cs-webapp-1
- cs-webapp-2
networks:
app-network:
driver: bridge
2.3. Quản lý dịch vụ với docker-compose
2.3.1. Dừng các container đang chạy
docker stop $(docker ps -aq)
2.3.2. Khởi động các container
docker-compose up -d
2.3.3. Kiểm tra truy cập
Mở trình duyệt web và truy cập địa chỉ IP của máy chủ để kiểm tra dịch vụ.
2.3.4. Các lệnh hữu ích khác
- Khởi động dịch vụ nền:
docker-compose up -d [tên_dịch_vụ] - Dừng và xóa container:
docker-compose down [tên_dịch_vụ] - Dừng container:
docker-compose stop [tên_dịch_vụ] - Khởi động lại container:
docker-compose restart [tên_dịch_vụ] - Hiển thị container:
docker-compose ps [tên_dịch_vụ] - Xem log:
docker-compose logs [tên_dịch_vụ]