Docker-Compose安装和使用

86

介绍

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 的可执行程序

下载地址:github.com/docker/...

image-nbgl.png

# 将下载下来的 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:

在上述代码中,我们定义了两个服务:dbwordpressdb 是运行 MySQL 数据库的服务,wordpress 是运行 WordPress 的服务。我们还创建了一个名为 db_data 的卷,用于持久化存储数据库数据。

请注意修改以下字段的值:

  • MYSQL_ROOT_PASSWORD: MySQL root 用户的密码,请将 your_mysql_root_password 替换为你想要设置的密码。

  • MYSQL_PASSWORDWORDPRESS_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 分钟,刷新网页即可进入安装界面。