移动 docker 数据目录后 docker compose 无法工作

问题描述 投票:0回答:1

我之前将 docker 容器安装在位于

/data/dockerdata
的卷上。现在它已安装(在新系统上)在
/mydocs/dockerdata
。我的撰写文件从
/data/Dev/docker/compose
移至
/mydocs/Dev/docker/compose

$ cat /etc/docker/daemon.json 
{"data-root":"/mydocs/dockerdata"}
/mydocs/Dev/docker/compose$ ll
total 36K
lrwxrwxrwx 1 david david   33 Nov  7  2021 compose.yml -> ignition-8.1.11-postgres-14.0.yml
drwxrwxr-x 2 david david 4.0K Nov  5  2021 db-init
-rw-rw-r-- 1 david david 1.3K Oct 18 10:49 ignition-8.1.11-postgres-14.0.yml
-rw-rw-r-- 1 david david 1.5K Mar  5  2021 ignition-8.1.1-postgres-13.1.host.yml
-rw-rw-r-- 1 david david 1.3K Mar  7  2021 ignition-8.1.1-postgres-13.1.ports.yml
-rw-rw-r-- 1 david david 1.3K Mar  7  2021 ignition-8.1.1-postgres-13.1.yml
drwxrwxr-x 2 david david 4.0K Nov  5  2021 secrets

现在,当我尝试运行

docker compose
时,出现以下错误。绑定路径在哪里设置?因为它正在寻找旧位置
/data

$ docker compose -f compose.yml start
[+] Running 0/0
 ⠋ Container compose_gateway_1  Starting                                                       0.0s 
 ⠋ Container compose_db_1       Starting                                                       0.0s 
Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /data/Dev/docker/compose/secrets/GATEWAY_PASSWORD

我的撰写文件:

# compose.yml
services:
  gateway:
    image: kcollins/ignition:8.1.11  # You can change `latest` to a specific version, e.g. `8.0.5`
    ports:
      - "8088:8088"
    stop_grace_period: 30s
    secrets:
      - gateway-password
    volumes:
      # - ./gateway_backup.gwbk:/restore.gwbk
      - gateway_data:/var/lib/ignition/data
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"
    environment:
      GATEWAY_SYSTEM_NAME: DockerGW
      GATEWAY_ADMIN_USERNAME: david
      GATEWAY_ADMIN_PASSWORD_FILE: /run/secrets/gateway-password

  db:
    image: postgres:14.0
    ports:
      - "5432:5432"
    volumes:
     - db_data:/var/lib/postgresql/data
     - ./db-init:/docker-entrypoint-initdb.d
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"
    secrets:
      - postgres-password
    environment:
      # See https://hub.docker.com/_/postgres/ for more information
      POSTGRES_PASSWORD_FILE: /run/secrets/postgres-password
      POSTGRES_DB: ignition
      POSTGRES_USER: ignition

secrets:
  postgres-password:
    file: ./secrets/POSTGRES_PASSWORD
  gateway-password:
    file: ./secrets/GATEWAY_PASSWORD

volumes:
  gateway_data:
  db_data:
Docker version 27.3.1, build ce12230
Ubuntu 24.04LTS
docker docker-compose
1个回答
0
投票

你可以检查一下你有没有吗

.env file

如果是这样,只需使用您的新路径进行更新即可

COMPOSE_PROJECT_PATH=/mydocs/Dev/docker/compose 

© www.soinside.com 2019 - 2024. All rights reserved.