Docker Compose 是 Docker 自带的命令行工具用于定义和运行多个容器。
docker-compose.yaml
docker-compose.yaml 是 Docker Compose 配置文件。
version: '3'
services:
mysql:
image: mysql:5.7
container_name: mysql
hostname: mysql
environment:
MYSQL_ROOT_PASSWORD: secret
volumes:
- ./docker/init.sql:/data/application/init.sql
ports:
- "3306:3306"
web:
build:
dockerfile: Dockerfile
context: .
image: web
depends_on:
- mysql
container_name: web
environment:
JDBC_MYSQL_URL: jdbc:mysql://mysql:3306/web
JDBC_MYSQL_USERNAME: root
JDBC_MYSQL_PASSWORD: secret
ports:
- "80:80"
👆的 docker-compose.yaml 配置文件,定义了两个服务 mysql 和 web。
services.web.depends_on
定义了 web 依赖于 mysql;
services.web.build
定义了如何构建 web 镜像;
services.mysql.image
和 services.web.image
定义了容器镜像;
services.mysql.environment
和 services.web.environment
定义了环境变量;
services.mysql.ports
和 services.web.ports
定义了端口;
services.mysql.volumes
挂载本地文件到镜像,这里挂载了 mysql 初始化脚本。
使用
构建 web 镜像:
docker-compose build web
启动服务:
docker-compose -d up
停止服务:
docker-compose down