首页 > 解决方案 > 运行容器错误时,Docker compose 从 docker-sync 配置迁移找不到 package.json

问题描述

我正在从 docker-sync 迁移到本机 docker-compose 卷同步,但是当我运行 docker-comopose up 时,容器失败并出现错误Couldn't find a package.json file in "/code"

当我阅读并从专家 docker devOps 那里得到建议时,我不应该再使用 docker-sync,因为它是一项古老的技术并使用现代 docker 卷同步。

对于我需要运行的容器,我的 docker-compose 如下所示

version: '3.9'
x-development-common: &development-common
  BABEL_DISABLE_CACHE: ${BABEL_DISABLE_CACHE:-1}
  NODE_ENV: development
  DEBUG: ${DEBUG:-0}
  LOG_LEVEL: ${LOG_LEVEL}
  RABBITMQ_URL: ${RABBITMQ_URL}

x-dev-mode: &dev-mode
  working_dir: /code
  entrypoint: [""]
  command: bash -c "
    npm config set '//registry.npmjs.org/:_authToken' '${NPM_TOKEN}';
    yarn install --frozen-lockfile --network-timeout 100000;
    echo Waiting for rabbitmq to start;
    while ! nc -z rabbitmq 5672;
    do
      sleep 1;
    done;
    yarn dev;"

services:
external-api-service:
    <<: *dev-mode
    volumes:
      - ../external-api-service/external-api-service-sync:/code
    environment:
      <<: *development-common
    ports:
      - "5000:5000"

volumes:
  external-api-service-sync:
    external: true

在使用 docker-synch 之前,这是卷的行services: volumes - external-api-service-sync:/code:nocopy

在 docker-sync 文件中

syncs: 
  external-api-service-sync:
    <<: *base
    src: '../external-api-service/'

我不知道我错过了什么,但现在在我/code的容器内部,没有从我的源代码中复制任何内容。

作为额外信息,该项目没有 docker 文件,因为它是在云中生成的,并且只使用了仍然相同的图像。

那么现在我的配置与 docker-sync 相同的路径有什么问题,但现在没有。

我必须做些什么才能使它正确。

标签: dockerdocker-compose

解决方案


推荐阅读