Docker-Compose安装和使用
介绍
Docker-Compose是一个用于定义和运行多个Docker容器的工具。它通过使用YAML文件来定义应用程序的服务、网络和卷等配置,使得在多个容器之间建立和管理关联变得更加简单。
Docker-Compose可以让开发人员轻松地在本地环境中创建多个相互关联的容器,形成一个完整的应用程序。通过配置文件,你可以定义各个服务的镜像、容器名称、端口映射、环境变量等。这样一来,你可以一次性启动、停止或重建整个应用程序。
安装
二进制包在线安装
# 更新系统软件包
sudo apt update
sudo apt upgrade
# 安装依赖工具
sudo apt install curl git
# 下载最新版本的Docker Compose二进制文件
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予docker-compose可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 创建docker-compose软链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 验证安装结果
docker-compose --version
二进制包离线安装
下载 Docker Compose 的可执行程序
# 将下载下来的 docker-compose-linux-x86_64 文件移动到 /usr/local/bin/ 目录下并命名为 docker-compose
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 增加 docker-compose 文件的可执行权限
chmod +x /usr/bin/docker-compose
# 验证安装结果
docker-compose --version
示例
通过 Docker Compose 部署 WordPress
新建项目目录
# 这里以 ~/my_wordpress 为例。
mkdir ~/my_wordpress
进入项目目录
cd ~/my_wordpress
编写docker-compose.yml
vi docker-compose.yml
version: '3.8'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_mysql_root_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: your_mysql_password
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./wp-content:/var/www/html/wp-content
ports:
- 8080:80
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: your_mysql_password
volumes:
db_data:
在上述代码中,我们定义了两个服务:db
和 wordpress
。db
是运行 MySQL
数据库的服务,wordpress
是运行 WordPress 的服务。我们还创建了一个名为 db_data
的卷,用于持久化存储数据库数据。
请注意修改以下字段的值:
MYSQL_ROOT_PASSWORD
: MySQL root 用户的密码,请将your_mysql_root_password
替换为你想要设置的密码。MYSQL_PASSWORD
和WORDPRESS_DB_PASSWORD
: WordPress 数据库用户和密码,请将your_mysql_password
替换为你想要设置的密码。
保存并关闭文件。
启动容器
在 ~/my_wordpress
目录中执行以下命令启动 WordPress:
docker-compose up -d
构建完成后就可以通过 http://ip:8080
来访问 WordPress(请将 ip
替换为 VPS 的 IP,port
替换为你使用的端口,如果是 80 端口则可以省略)。如果提示 Error establishing a database connection
,说明配置尚未完成,等待 1~2 分钟,刷新网页即可进入安装界面。