我们可以在一个compose文件中定义一个多容器的应用(比如wordpress),然后通过该compose来启动这个应用。

docker-compose安装

下面以两种方式讲解docker-compose安装,其中主要区别是一个上网页进行下载文件,另一个是通过命令直接进行下载

方法一

1、点击官网地址,选择2.12.2版本进行下载安装

docker-compose安装-1

2、下载完上传到机器的/usr/local/bin/目录下,给文件更名赋权

$ mv docker-compose-linux-x86_64 docker-compose
$ chmod a+x /usr/local/bin/docker-compose

3、测试并查看版本

$ cd /usr/local/bin/
$ docker-compose version

方法二

1、下载文件到/usr/local/bin/目录下

$ curl -L https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

2、下载完上传到机器的/usr/local/bin/目录下,给文件更名赋权

$ mv docker-compose-linux-x86_64 docker-compose
$ chmod a+x /usr/local/bin/docker-compose

3、测试并查看版本

$ cd /usr/local/bin/
$ docker-compose version

docker-compose部署

1、编辑wordpress的compose yaml文件

$ cd /usr/local/bin/
$ vim docker-compose.yml
services:
   db:                   # 服务1:db
     image: mysql:5.7    # 使用镜像 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:          # 服务2:wordpress
     depends_on:       # wordpress服务启动时依赖db服务,所以会自动先启动db服务
       - db
     image: wordpress:latest    # 使用镜像 wordpress:latest最新版
     ports:
       - "8000:80"          #端口映射8000:80
     restart: always
     environment:        # 环境
       WORDPRESS_DB_HOST: db:3306     # wordpress连接db的3306端口
       WORDPRESS_DB_USER: wordpress    # wordpress的数据库用户为wordpress
       WORDPRESS_DB_PASSWORD: wordpress   # wordpress的数据库密码是wordpress
       WORDPRESS_DB_NAME: wordpress    # wordpress的数据库名字是wordpress
volumes:
    db_data: {}

2、启动

$ cd /usr/local/bin/
$ docker-compose up -d

上面参数说明:

  • -d:表示后台启动

3、查看

$ cd /usr/local/bin/
$ docker-compose ps

4、停止

$ cd /usr/local/bin/
$ docker-compose stop