一、Docker Compose 概述与安装。
使用 Docker Compose 可以轻松、高效的管理容器。
安装 Docker Compose 可以通过下面命令自动下载适应版本的 Compose,并为安装脚本添加执行权限。参考官方安装地址。
#运行以下命令以下载Docker Compose的当前稳定版本:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#将可执行权限应用于二进制文件:
sudo chmod +x /usr/local/bin/docker-compose
如果下载不了参考如下方法安装:
#安装pip
apt install python-pip
#升级到最新
pip install --upgrade pip
#升级后使用以下命令清除哈希表中的所有记录才能正常使用
hash -r
#查看版本
pip -V
#我的版本:pip 20.0.2 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
#安装 docker-compose
pip install docker-compose
docker-compose -v
#我的版本:docker-compose version 1.25.4, build unknown
二、安装Docker
#安装Docker
apt install docker.io
docker -v
#我的版本:Docker version 19.03.6, build 369ce74a3c
三、通过容器镜像快速构建容器服务
如果想制作自己的容器镜像参看上一篇
参考目录结构
docker-compose.yml配置文件
version: '3'
networks:
backend:
driver: bridge
# 定义四个服务nginx,php,mysql,redis
services:
nginx:
# 依赖php服务,意味着在启动nginx之前先启动php
depends_on:
- php-fpm
# nginx镜像的路径
image: registry.cn-shenzhen.aliyuncs.com/yxyong/nginx
volumes:
- ./website:/var/www:cached
- ./logs/nginx:/var/log/nginx
- ./conf/nginx/sites:/etc/nginx/sites-available
- ./conf/nginx/ssl:/etc/nginx/ssl
# nginx意外退出时自动重启
restart: always
# 映射80和443端口
ports:
- "80:80"
- "443:443"
# 容器名称
container_name: nginx
networks:
- backend
php-fpm:
depends_on:
- mysql
- redis
image: registry.cn-shenzhen.aliyuncs.com/yxyong/php
restart: always
volumes:
#- ./conf/php/php.ini:/usr/local/etc/php/php.ini
- ./website:/var/www:cached
container_name: php-fpm
networks:
- backend
mysql:
image: registry.cn-shenzhen.aliyuncs.com/yxyong/mysql
volumes:
- ./conf/mysql/my.cnf:/etc/mysql/conf.d/my.cnf
- ./data/mysql:/var/lib/mysql
restart: always
# 设置MYSQL_ROOT_PASSWORD环境变量,这里是设置mysql的root密码。这里为wanphp@1314。
environment:
MYSQL_ROOT_PASSWORD: wanphp@1314
TZ: PRC
ports:
- "13306:3306"
container_name: mysql
networks:
- backend
redis:
image: registry.cn-shenzhen.aliyuncs.com/yxyong/redis
volumes:
# - ./conf/redis/redis.conf:/usr/local/etc/redis.conf
- ./data/redis:/data
restart: always
ports:
- "16379:6379"
container_name: redis
networks:
- backend
我的目录结构地址:https://code.aliyun.com/yxyong/mynmpr/tree/master/wwwroot
进入webroot目录运行docker-compose up -d
即可。
网友评论