docker compose
Docker Compose 是一个工具,它允许开发者使用 YAML 文件来定义多容器 Docker 应用程序,并通过一个简单的命令来启动、停止和管理这些容器。Docker Compose 提供了以下几个主要优势:
- 多容器编排:允许在单一配置文件中定义多个容器,并确保它们之间可以相互通信。
- 简化环境管理:通过一条命令启动和停止整个应用环境,无需手动配置每个容器。
- 可移植性:编写的 Compose 文件可以在任何支持 Docker 的平台上运行,确保开发、测试和生产环境的一致性。
命令式安装
使用命令方式安装wordpress
1. 创建网络
docker network create blog
docker network ls
2. 启动MySQL
docker run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=wordpress \
-v mysql-data:/var/lib/mysql \
-v /app/myconf:/etc/mysql/conf.d \
--restart always --name mysql \
--network blog mysql:8.0
3. 启动wordpress
docker run -d -p 7799:80 \
-e WORDPRESS_DB_HOST=mysql \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=123456 \
-e WORDPRESS_DB_NAME=wordpress \
-v wordpress:/var/www/html \
--restart always --name wordpress-app \
--network blog wordpress:latest
4. 访问wordpress
通过Compose部署
1. 编写docker-compose.yaml文件
name: myblog
services:
mysql:
container_name: mysql
image: mysql:8.0
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_DATABASE=wordpress
volumes:
- mysql-data:/var/lib/mysql
- /app/myconf:/etc/mysql/conf.d
restart: always
networks:
- blog
wordpress:
container_name: wordpress-app
image: wordpress:latest
ports:
- "7799:80"
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: 123456
WORDPRESS_DB_NAME: wordpress
volumes:
- wordpress:/var/www/html
restart: always
networks:
- blog
depends_on: #依赖顺序
- mysql
volumes:
mysql-data:
wordpress:
networks:
blog:
2. 创建和启动容器
docker-compose -f docker-compose.yaml up -d
3. 删除容器、网络
docker-compose -f docker-compose.yaml down
安装docker-compose
1. 下载Docker Compose二进制文件
sudo curl -L "https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2. 为二进制文件添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
3. 创建符号链接(如果需要)
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose