您的位置:

群晖上安装Docker Compose

一、安装Docker Compose

在群晖官网上,Docker Compose 是`Synology 程序包中心`的一种,可以通过该中心进行一键安装。

步骤如下:


1、打开DSM后台,进入“套件中心”。
2、在右侧的“全部”标签中,找到“Docker Compose”。
3、点击右侧的“安装”按钮,开始安装。

安装完毕后,可以在“应用”中找到 Docker Compose。

二、使用Docker Compose

1.编写 Docker Compose 文件

Docker Compose 使用 YAML 文件编写容器的配置信息。下面是一个简单的示例:


version: '3'
services:
  web:
    build: .
    ports:
      - "5000:5000"
    volumes:
      - .:/code
    restart: always

该示例创建了一个名为 `web` 的服务,从当前目录的 Dockerfile 中构建镜像,并将容器的端口映射到主机的端口 5000。

2.启动容器

通过以下命令可以启动容器:


$ docker-compose up

如果想在后台运行:


$ docker-compose up -d

3.停止和删除容器

通过以下命令可以停止和删除容器:


$ docker-compose stop
$ docker-compose rm

三、Docker Compose 常见问题解决

1. “ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?”

如果出现该错误提示,可以尝试使用以下命令:


$ sudo systemctl start docker

如果还不能解决该问题,请确认你的 Docker 是否已正确安装并运行。

2. “ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.web: 'bulid'”

如果出现该错误提示,可以检查以下几项:

检查 yaml 文件中每一个单词的拼写和格式是否都正确;

检查是否所有的空格都已转化为空格而不是 tab 键;

确保使用的版本是正确的,比如 Docker Compose version 2 和 version 3 的 YAML 文件格式是不同的,需要进行相应的更改。

3. “ERROR: Network ‘default’ declared as external, but could not be found”

如果出现该错误提示,可以检查 Docker Compose 文件中 networks 下是否已经定义了名为 default 的网络:


version: '3'
services:
  web:
    networks:
      - default
networks:
  default:

如果定义了,则先删除该网络:


$ docker network rm default

再启动容器。