【发布时间】:2021-07-07 16:46:10
【问题描述】:
我想在 docker 容器中运行 docker-compose start 和 docker-compose stop。
等效地,可以简单地尝试成功运行docker-compose --version。
我已经设法让docker --version 运行,只需添加两行(见下文)。
容器似乎使用的是 Ubuntu 18.04 LTS。
docker-compose 文件如下所示:
---
version: "2.1"
services:
duplicati-2:
image: ghcr.io/linuxserver/duplicati
container_name: duplicati-2
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- CLI_ARGS= #optional
volumes:
- ./config:/config
- /mnt/myBackups:/backups
- /opt/docker:/source:ro
#---------------------------------------------------------------------
#---------- needed to run docker -------------------------------------
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
#---------------------------------------------------------------------
#------------what must stand down here to run docker-compose?---------
- /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
- /usr/bin/python3:/usr/bin/python3
#---------------------------------------------------------------------
ports:
- 8300:8200
restart: unless-stopped
我已经在这里找到了通常运行docker-compose --version 的要求:
https://docs.docker.com/compose/install/
我担心 python3 等所有需要的依赖项和库。
当从主机愚蠢地挂载整个 /lib/* 和 /usr/bin 目录时,我不想用主机上的所有这些库污染我的 docker-container。
所以我的问题是:
我必须将哪些挂载添加到我的 docker-compose 文件中,以便我可以在容器中运行 docker-compose?
【问题讨论】:
-
为什么要在容器内运行
docker-compose --version?听起来像是 XY 问题。 -
duplicati 是一个备份软件。这可以对任意存储进行非常简单的顺序备份。我想备份我的 docker 文件夹。因此,我必须阻止那些第一个 bec。包含的数据库。使用
docker-compose down和docker-compuse up -d之后,这可以非常简单地完成。docker-compose --version仅用于测试 docker-compose 是否正常工作
标签: docker docker-compose dockerfile duplicati