目录
一、docker-compose 安装
# docker-compose 安装包
https://github.com/docker/compose/releases/tag/v2.26.0
# 将下载好的文件放到/usr/local/bin
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod a+x docker-compose
# 查看版本
docker-compose version
二、常用命令
命令:
docker-compose
参数:
up -d # 启动容器项目
-f # 指定使用的 yaml 文件位置
ps # 显示所有容器信息
restart # 重新启动容器
logs # 查看日志信息
config -q # 验证 yaml 配置文件是否正确
stop # 停止容器
start # 启动容器
pause # 暂停容器
unpause # 恢复暂停
rm # 删除容器
三、yml 文件模板
version: '3.8' #定义当前版本号
services: #定义服务
db:
container_name: db
image: mysql:5.7 #镜像为mysql:5.7版本
restart: always #跟真实机一起重启,只要关闭就启动
networks: #使用的docker网络
- wordpress_db
environment: #定义环境变量
MYSQL_ROOT_PASSWORD: somewordpress #root用户默认管理密码
MYSQL_DATABASE: wordpress #会自动创建名为wordpress的数据库
MYSQL_USER: wordpress #会自动创建一个用户为wordpress
MYSQL_PASSWORD: wordpress #密码为wordpress
wordpress:
depends_on: #依赖 db 容器
- db
container_name: wordpress
image: wordpress:latest #指定镜像
restart: always #指定重启策略
command: echo "welcome daboluo"
networks:
- wordpress_db
ports:
- "8000:80" #外部访问本机的端口8000,就转到本容器端口的80
environment:
WORDPRESS_DB_HOST: db:3306 #指定数据库主机为db:3306
WORDPRESS_DB_USER: wordpress #数据库的用户名为wordpress
WORDPRESS_DB_PASSWORD: wordpress #连接数据库的密码为word
volumes:
- './logs:/var/log/gitlab'
- './data:/var/opt/gitlab'
networks:
wordpress_db:
ipam:
driver: bridge
config:
- subnet: 172.28.0.0/16 # 指定子网地址
注意的是,从 Docker Compose 文件版本 3.x
开始,外部网络(在 Docker Compose 文件外部已经创建好的网络)必须明确声明为外部网络。例如:
version: '3.8'
services:
web:
image: nginx:alpine
networks:
- default
- existing_network
networks:
existing_network:
external: true
四、wordpress 实验
1.创建工作目录
# 创建目录
mkdir /usr/local/wordpress
2.yml 文件
vim /usr/local/wordpress/docker-compose.yml
version: '3.8' #定义当前版本号
services: #定义服务
db:
container_name: db
image: mysql:5.7 #镜像为mysql:5.7版本
restart: always #跟真实机一起重启,只要关闭就启动
networks: #使用的docker网络
- wordpress_db
environment: #定义环境变量
MYSQL_ROOT_PASSWORD: somewordpress #root用户默认管理密码
MYSQL_DATABASE: wordpress #会自动创建名为wordpress的数据库
MYSQL_USER: wordpress #会自动创建一个用户为wordpress
MYSQL_PASSWORD: wordpress #密码为wordpress
wordpress:
depends_on: #依赖 db 容器
- db
container_name: wordpress
image: wordpress:latest #指定镜像
restart: always #指定重启策略
networks:
- wordpress_db
ports:
- "8000:80" #外部访问本机的端口8000,就转到本容器端口的80
environment:
WORDPRESS_DB_HOST: db:3306 #指定数据库主机为db:3306
WORDPRESS_DB_USER: wordpress #数据库的用户名为wordpress
WORDPRESS_DB_PASSWORD: wordpress #连接数据库的密码为word
volumes:
- '/root/docker-compose/wordpress/html:/var/www/html'
- '/root/docker-compose/wordpress/log:/var/log'
networks:
wordpress_db:
ipam:
config:
- subnet: 172.28.0.0/16 # 指定子网地址
3.启动容器
docker-compose up -d -f /usr/local/wordpress/docker-compose.yml
4.查看docker-compose创建的资源
# 查看容器
docker-compose ls
docker ps
# 查看网络
docker network ls
docker inspect df4fae3c5ab9
5.访问测试
浏览器访问本机端口,配置个人博客