gpt4 book ai didi

Docker Compose 使用缓存构建命令,并且在复制到 docker 时不拾取更改的文件

转载 作者:行者123 更新时间:2023-12-02 18:00:46 26 4
gpt4 key购买 nike

我有一个 docker-compose.yml文件包含两个服务(均基于 DockerFile)。我已经构建了一次图像(使用命令: docker-compose build ),一旦我运行这个命令( docker-compose up ),它们就会启动并运行。
我不得不更改用于其中一项服务的源代码,但是,当我重建图像 ( docker-compose build ) 时,一旦我运行服务 ( docker-compose up ),代码更改就不会反射(reflect)出来。

docker-compose.yml

version: '2'

services:
serviceOne:
build:
context: ./ServerOne
args:
PORT: 4000
ports:
- "4000:4000"
env_file:
- ./ServerOne/.env
environment:
- PORT=4000
serviceTwo:
build:
context: ./serviceTwo
args:
PORT: 3000
ports:
- "3000:3000"
env_file:
- ./serviceTwo/.env
environment:
- PORT=3000
- serviceOne_URL=http://serviceOne:4000/
depends_on:
- serviceOne

serviceOne/DockerFile
FROM node:8.10.0

RUN mkdir -p /app
WORKDIR /app
ADD package.json package-lock.json /app/
RUN npm install
COPY . /app/
RUN npm build
EXPOSE ${ACC_PORT}
CMD [ "npm", "start" ]

serviceTwo/DockerFile
FROM node:8.10.0

RUN mkdir -p /app
WORKDIR /app
ADD package.json package-lock.json /app/
RUN npm install
COPY . /app/
RUN npm build
EXPOSE ${ACC_PORT}
CMD [ "npm", "start" ]

以下是 docker-compose 的输出第二次运行时。
再次使用缓存的图像时,这是一些如何COPY npm 构建 命令运行。

怎么可能 DockerFile docker-compose 更改文件以便部署新的源代码?

enter image description here

最佳答案

您可以通过添加 --no-cache option to the docker-compose build 来强制构建忽略缓存。

关于Docker Compose 使用缓存构建命令,并且在复制到 docker 时不拾取更改的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55249136/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com