学习 Docker(四):Docker Compose
2012 年 3 月 25 日
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"
:point_up_2:的 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