目录
1. docker-compose简介
2. docker-compose.yml简单配置说明
3. docker-compose运行
1. docker-compose简介与安装
- 简介
docker-compose是编排docker容器的, 就是管理这一批容器, 进行批量配置, 起动, 暂停, 删除容器等. 如果有多个容器, 使用docker一个个启动慢, 如果容器间有依赖, 还需要手动指定, 还有环境变量, 可以 一起设置.
- 使用下面命令安装docker-compose和docker. 或使用
yum remove docker \
docker-common \
docker-selinux \
docker-engine
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce
systemctl enable docker
systemctl start docker
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
2. docker-compose.yml简单配置
这里以wordpress-nginx-mariadb为例
参数说明
# 设置docker-compose 版本
version: "3"
# 容器服务
services:
# 服务名称
mariadb:
# 拉取镜像和镜像版本, 本地没有, 自动会拉取
image: mariadb:10.2
# 容器名称
container_name: mariadb_v1
# 容器环境, 设置mysql root密码, 用户名, 用户密码, 库
environment:
MYSQL_ROOT_PASSWORD: password_QUI356_ccf
MYSQL_DATABASE: wordpress
MYSQL_USER: wordone
MYSQL_PASSWORD: wordpress_weiki_JKL_sdf1
# 挂载外部磁盘目录, 相当于容器和数据分开存放, 删除容器, 外部磁盘数据仍在
volumes:
- ./lib/mariadb:/var/lib/mysql
- ./var/log/mysql:/var/log/mysql
# 暴露服务器端口, 格式是 外部端口:内部容器端口
ports:
- 3306:3306
nginx:
image: nginx:1.14.2
container_name: nginx_v1
volumes:
- ./etc/nginx/conf:/etc/nginx
- ./var/log/nginx:/var/log/nginx
- ./wordpress:/usr/share/nginx/html
ports:
- 80:80
links:
- wordpress
wordpress:
depends_on:
- mariadb
links:
- mariadb
image: wordpress:php7.1-fpm
container_name: wordpress_v1
volumes:
- ./wordpress:/var/www/html
# 其他容器环境中, 以链接mariadb服务
environment:
WORDPRESS_DB_HOST: mariadb
WORDPRESS_DB_USER: wordone
WORDPRESS_DB_PASSWORD: wordpress_weiki_JKL_sdf1
WORDPRESS_DB_NAME: wordpress
3. docker-compose运行, 直接拉取已经设置的配置
- 使用git克隆docker-compose库, 并存放在当前用户目录中(即cd ~/ 所在地方)
git clone https://github.com/Charles-one/docker-compose.git ~/docker-compose
- 复制一份执行文件到用户目录中
cp -r ~/docker-compose/wordpress-nginx-mariadb ~/wordpress-nginx-mariadb
- 进行文件夹中, 使用docker-compose 下载镜像, 构建镜像
# 进行需要运行的docker-compose库中
cd ~/wordpress-nginx-mariadb
# up 表示构建, -d后台运行
# 运行后需要下载镜像, 时间比较长.
docker-compose up -d
- 查看wordpress服务
访问地址:
http://你的服务器ip
设置用户密码即可使用
- 其它docker-compose命令
# pull 拉取服务镜像
docker-compose pull
# up 运行服务并输出, 可使用control + c结束容器
docker-compose up
# start 启动一个已经存在的服务容器
docker-compose start
# stop 停止已经运行的容器, 不会删除, 可用start再启动
docker-compose stop
# rm 删除已经停止的容器
docker-compose rm
# ps 列出所有容器
docker-compose ps
# run 在服务上执行一个命令
docker-compose
# logs 查看服务输出
docker-compose logs
docker-compose logs -f