当我使用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时,我所做的更改没有反映出来。
我错过了什么吗?
答案 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
)。>