Docker系列之10 Docker Compose

什么是Docker Compose

Compose是一个用于定义和运行多容器Docker应用程序的编排工具。Docker Compose可以使用YAML文件来配置应用程序的服务,接着就可以从配置中创建并启动所有服务。

如何配置Docker Compose

很简单,将docker-compose在github下载下来赋予执行权限即可运行

curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

  
 
  • 1
  • 2

在这里插入图片描述

Docker Compose 管理命令

查看容器列表
docker-compose ps
查看服务日志
docker-compose log
打印绑定端口
docker-compose port
构建服务
docker-compose build
启动已存在的容器服务
docker-compose start
停止已运行的容器服务
docker-compose stop
删除服务容器
dokcer-compose rm
构建或启动容器
docker-compose up
停止服务容器
docker-compose kill
下载服务镜像
docker-compose pull
设置服务运行的容器数量
docker-compose scale
在服务器上运行命令
docker-compose run

Docker Compose YAML File

指令格式
version:#指定 docker-compose.yml 文件的写法格式
services:#多个容器集合
environment:#环境变量配置,可以用数组或字典两种方式
restart:#容器在关闭后是否重启
depends_on:#定义服务依赖关系
image:#指定服务所使用的镜像
network_mode:#设置网络模式
ports:对外暴露的端口定义,和 expose 对应
volumes:#卷挂载路径

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

WordPress在Docker Compose实践

创建wordpress.yaml

version: '3.3'

services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress
volumes: db_data: {}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

根据YAML定义进行编排,通过docker-compose up命令启动容器
docker-compose up -d
在这里插入图片描述
查看通过Compose启动的容器
docker-compose ps
在这里插入图片描述
通过浏览器打开WorPress,验证是否成功运行服务
http://ServerIP:8000在这里插入图片描述

文章来源: yekangming.blog.csdn.net,作者:叶康铭,版权归原作者所有,如需转载,请联系作者。

原文链接:yekangming.blog.csdn.net/article/details/103950598

(完)