概述

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

如果你还不了解 YML 文件配置,可以先阅读 YAML 入门教程。
Compose 使用的三个步骤:

  • 使用 Dockerfile 定义应用程序的环境。
  • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
  • 最后,执行 docker-compose up 命令来启动并运行整个应用程序。

安装

  1. 删除旧版本
    如果通过apt-get安装
sudo apt-get remove docker-compose

如果通过curl安装

sudo rm /usr/local/bin/docker-compose

如果通过pip安装

pip uninstall docker-compose
  1. 下载新版本
    然后在 GitHub 的发布页面上找到最新版本,或者通过卷曲 API 并使用或从响应中提取版本
#!/bin/bash

# curl + grep
VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')

# or
# curl + jq
VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r)

DESTINATION=/usr/local/bin/docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m) -o $DESTINATION
sudo chmod 755 $DESTINATION

该文件比较大,而且在github上,各显神通吧。

常见问题

Cannot autolaunch D-Bus without X11 $DISPLAY

在执行docker-compose命令或者 docker login时出现以下提示:

docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: 0xbanana
Password: *******
Error saving credentials: error storing credentials - err: exit status 1, out: `Cannot autolaunch D-Bus without X11 $DISPLAY`

解决办法:

apt install gnupg2 pass

相关链接

安装