使用docker-compose构建映像后,构建映像更改未反映

时间:2020-09-01 19:03:33

标签: docker docker-compose node-modules

当我使用docker-compose运行auth-ui时运行--sevice-ports auth-ui。我在auth-ui中所做的所有更改均能正确反映,因此在更改代码后,我将构建新的docker映像,

这是我的auth-ui的docker-compose.yml文件。

version: "2"
services:
  auth-ui:
    image: openlmis/dev-ui:9.0.2-SNAPSHOT
    ports:
      - "9000:9000"
      - "9876:9876"
    working_dir: /app
    volumes:
      - '.:/app'
    env_file: .env
    volumes_from:
      - ui-components
    depends_on:
      - ui-components
  ui-components:
    image: openlmis/ui-components:7.2.4-SNAPSHOT
    volumes:
      - '/openlmis-ui-components'
  image:
    build: .
    image: openlmis/auth-ui

它被创建为openlmis / auth-ui:latest。

然后我在reference-ui的docker-compose.yml中配置该映像

version: "2"
services:
  reference-ui:
    image: openlmis/dev-ui:9.0.2-SNAPSHOT
    working_dir: /app
    volumes:
      - '.:/app'
    ports:
      - "9000:9000"
      - "9876:9876"
    env_file: .env
    volumes_from:
      - auth-ui
      - fulfillment-ui
      - referencedata-ui
      - requisition-ui
      - report-ui
      - stockmanagement-ui
      - cce-ui
      - ui-components
      - ui-layout
    depends_on:
      - auth-ui
      - fulfillment-ui
      - referencedata-ui
      - requisition-ui
      - report-ui
      - stockmanagement-ui
      - cce-ui
      - ui-components
      - ui-layout
  auth-ui:
    image: openlmis/auth-ui:latest
    volumes:
      - '/openlmis-auth-ui'
  fulfillment-ui:
    image: openlmis/fulfillment-ui:6.0.8-SNAPSHOT
    volumes:
      - '/openlmis-fulfillment-ui'
  referencedata-ui:
    image: openlmis/referencedata-ui:5.6.4-SNAPSHOT
    volumes:
      - '/openlmis-referencedata-ui'
  report-ui:
    image: openlmis/report-ui:5.2.5-SNAPSHOT
    volumes:
      - '/openlmis-report-ui'
  requisition-ui:
    image: openlmis/requisition-ui:7.0.4-SNAPSHOT
    volumes:
      - '/openlmis-requisition-ui'
  stockmanagement-ui:
    image: openlmis/stockmanagement-ui:2.0.8-SNAPSHOT
    volumes:
     - '/openlmis-stockmanagement-ui'
  cce-ui:
    image: openlmis/cce-ui:1.0.8-SNAPSHOT
    volumes:
     - '/openlmis-cce-ui'
  ui-components:
    image: openlmis/ui-components:7.2.4-SNAPSHOT
    volumes:
      - '/openlmis-ui-components'
  ui-layout:
    image: openlmis/ui-layout:5.1.8-SNAPSHOT
    volumes:
      - '/openlmis-ui-layout'
  image:
    build: .
    image: openlmis/reference-ui

但是当我尝试使用docker-compose run --service-ports reference-ui运行参考ui时,我所做的更改没有反映出来。

我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

如果您重建映像,则需要从另一个docker compose堆栈中删除该容器,以使用新映像启动一个新容器。尝试docker-compose rm -sf auth-ui,然后重试运行命令。

答案 1 :(得分:0)

由于documentation的状态,docker-compose run对服务运行一个一次性命令,这不是您想要执行的操作。

您要使用的是第一个docker-compose.yml来构建图像,第二个使用它来创建容器。

因此,在包含第一个docker-compose.yml的目录(您称为docker-compose.yml file of auth-ui)中,您应该运行docker-compose build来构建映像,并在包含第二个docker-compose.yml的目录中(您称为reference-ui's docker-compose.yml的那个),您应该运行docker-compose up -d用新的映像更新您的服务(假设您想在后台运行服务,否则跳过-d)。

可以找到heredocker-compose build heredocker-compose up文档。