- 要从Dockerfile build image 或者去dockerhub拉取image
- 要创建多个container
- 要管理这些container(启动停止删除)
DOcker Compose "批处理"
通过文本的方式,把要处理的容器按照顺序执行,如果是多容器也就是通过一条命令就搞定了
Docker Compose 了解它
https://docs.docker.com/compose/overview/ ,version版本统一用3,其实3是兼容2的,version版本1 就不要考虑了已经废弃了,一定要往前看。3和2的最大区别是3比2强大,好像是废话,3支持多机和单机,2仅支持单机。
- Docker Compose 是一个工具,命令行工具。
- 这个工具可以通过yml文件定义多容器的docker应用
- 通过一条命令就可以根据yml文件的定义去创建或者管理这多个容器
docker-compose.yml 介绍
- services
- 一个service代表一个container,这个container可以从dockerhub的image来创建,或者从本地的Dockerfile build出来的image来创建。
- service的启动类似docker run,我们可以给其指定network和volme,所以可以给service指定network和volume的引用
-
networks
-
volumes
docker-compose 上例子
源码地址:https://github.com/limingios/docker中的No.4
-
访问路径
-
docker-compose 源码实例
#docker-Compse的版本 version: '3' #建立2个service 一个wordpress 一个 mysql services: wordpress: image: wordpress #端口映射80 映射到8080端口 ports: - 8080:80 #环境变量2个 environment: WORDPRESS_DB_HOST: mysql WORDPRESS_DB_PASSWORD: root networks: - my-bridge mysql: image: mysql environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: wordpress volumes: - mysql-data:/var/lib/mysql networks: - my-bridge #建立一个volumes volumes: mysql-data: #建立一个networks networks: my-bridge: driver: bridge
PS:上节通过image 和container的方式创建wordpress,一般麻烦吧还不算特别麻烦,但是相比今天的docker-compose.yml来说,还是docker-compose.yml文件更方便些吧。