补充:
- Docker Compose 文件:
Docker Compose 是一个用于定义和运行多个 Docker 容器的工具。它使用 YAML 文件格式来描述应用程序的各个组件和其配置。以下是一个简单的示例:
在上面的示例中,我们定义了两个服务:web 和 db。web 服务构建自当前目录中的 Dockerfile,并将容器的 80 端口绑定到主机的 80 端口。db 服务使用官方的 MySQL 5.7 镜像,并将容器的 MySQL 数据目录挂载到主机上的卷中。另外,我们还定义了一个名为 db_data 的卷,用于持久化存储数据库数据
步骤1:安装Compose编排工具
Compose编排工具常用安装方式有两种,一是从GitHub上下载Compose二进制文件后进行安装,二是利用pip安装Compose编排工具。本实验选用利用pip安装Compose编排工具。
(1)可利用以下命令安装python-pip包
(1)可利用以下命令安装python-pip包
# yum -y install epel-release
安装python3-pip。
# yum -y install python3-pip
(2)安装好以后更新pip工具。
# pip install --upgrade pip
(3)安装Compose工具。
[root@localhost ~]# pip install docker-compose
说明:由于国内网速问题,安装docker-compose可能会失败,可多安装几次。
(4)测试安装结果
[root@localhost ~]# docker-compose --version
docker-compose version 1.26.2, build unknown
步骤2:编排启动镜像
(1)创建文件目录
[root@docker01 ~]# mkdir /opt/my_wordpress/
[root@docker01 ~]# cd /opt/my_wordpress/
(2)编写编排文件
[root@docker01 my_wordpress]# vi docker-compose.yml
[root@docker01 my_wordpress]# vi docker-compose.yml
#指定 docker-compose.yml 文件的版本
version: '3.3'
# 定义所有的 service 信息, services 下面的第一级别的 key 既是一个 service 的名称
services:
db:
image:
volumes:
-
# 定义容器重启策略
restart: always
# 设置环境变量, environment 的值可以覆盖 env_file 的值
environment:
wordpress:
#docker-compose up 以依赖顺序启动服务,先启动db
depends_on:
- db
image: wordpress:latest
# 建立宿主机和容器之间的端口映射关系,容器的 80 端口和宿主机的 8000 端口建立映射关系
ports:
-
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
# 定义容器和宿主机的卷映射关系
volumes:
db_data: {}
我指定了 db
服务使用的 MySQL 5.7 镜像,并将容器的 MySQL 数据目录挂载到主机的卷中。wordpress
服务依赖于 db
服务,在容器的 80 端口和宿主机的 8000 端口之间建立映射关系,并设置了 WORDPRESS_DB_HOST
环境变量来连接到数据库。
(3)启动
[root@docker01 my_wordpress]# docker-compose up -d
#启动方法:docker-compose up
#后台启动方法:docker-compose up -d