sách gpt4 ai đã đi

Docker docker-compose không chọn các hình ảnh được lưu trong bộ nhớ đệm có liên quan

In lại 作者:行者123 更新时间:2023-12-02 18:55:49 34 4
mua khóa gpt4 Nike

Tôi đã chạydocker-compose build celery,(经过数小时的尝试,我的连接不良)成功了。 ứng dụng Dockerfile的前80%是相同的,但不会重复使用缓存。从我可以浏览的内容来看,Docker会比较基本镜像和Dockerfile中的指令,并在可能的情况下重用。

更新:这个问题涉及的问题消失了,不知道为什么。注意事项如下。

但是我得到了:

docker-compose build celery
Building celery
Step 1 : FROM python:2.7
---> eb867117097c
Step 2 : RUN apt-get update && apt-get install -y vim gdal-bin libgdal-dev postgresql-client
---> Using cache
---> 2966946ca235

. . . identical steps . . .

Step 9 : RUN pip install --no-cache-dir -r requirements/production.txt
---> Running in 02b42f721a34
Collecting git+https://github.com . . .
. . .
---> f70ecc01cada
Removing intermediate container 02b42f721a34
Step 10 : RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
---> Running in 3575383edcef

当我键入 hình ảnh docker时,我可以看到 f70ecc01cada,但是在以下内容中找不到它:
docker-compose build app
Building app
Step 1 : FROM python:2.7
---> eb867117097c
Step 2 : RUN apt-get update && apt-get install -y vim gdal-bin libgdal-dev postgresql-client
---> Using cache
---> 03e5040df047

. . . identical steps . . .

Step 9 : RUN pip install --no-cache-dir -r requirements/production.txt
---> Running in bb26fab28548
Collecting git+https://github.com . . .
. . .

我认为后者应该重用f70ecc01cada缓存的图像,对吗? [编辑:我现在意识到03e5040df047只是一个容器,谢谢@Ohmen,所以删除它毫无意义]

我尝试将docker-compose编辑为相同的内存等,但没有帮助。我可以强制重用吗?

làm mới: ứng dụng构建突然开始从 celery构建中获取缓存。我不知道怎么解决。在失败和正常工作之间,我确实在Dockerfile出现分歧之前就连接到 celery层次结构上的镜像,在 ứng dụng镜像上手动运行其余命令( docker run -it ... --entry=bash, adduserchown app/),然后对生成的容器进行 docker committed。然后,我重新运行 docker-compose build app,由于某种原因,它正确地从 celery层次结构中获取了缓存,并成功运行了其余命令(创建用户和chown)。我不知道是什么突然使它起作用。

编辑:两个图像树的Docker历史记录,显示历史记录在 RUN apt-get update && apt-get install -y vim gdal-bin libgdal-dev postgresql-client行上有所分歧。也许我同时运行两个版本?我很确定自己没有,因为在我的联系上他们花了一个小时或更长时间,但这也许是无聊而令人尴尬的解释。也许Docker是随机选择随后失败的树,然后随机(经过56次尝试)选择了没有失败的树。

初始成功构建-各个层从下至上依次排列:
Chriss-MacBook-Pro:~ technicaltitch$ docker history fdw_celery
IMAGE CREATED CREATED BY SIZE COMMENT
d71bf8f2b902 28 hours ago /bin/sh -c #(nop) ENTRYPOINT ["/bin/sh" "-c" 0 B
336bdb2b9ca9 28 hours ago /bin/sh -c #(nop) USER [celery] 0 B
a1259f89bc1f 28 hours ago |3 PIP_INDEX_URL=https://pypi.python.org/simp 15.39 MB
57dd9a330337 28 hours ago |3 PIP_INDEX_URL=https://pypi.python.org/simp 335.2 kB
3accad8aa55c 28 hours ago |3 PIP_INDEX_URL=https://pypi.python.org/simp 0 B
b4ff0c1d71fb 28 hours ago /bin/sh -c #(nop) COPY dir:a8f922c5264fe2275a 15.39 MB
bc65bc84abbc 28 hours ago |3 PIP_INDEX_URL=https://pypi.python.org/simp 0 B
f70ecc01cada 28 hours ago |3 PIP_INDEX_URL=https://pypi.python.org/simp 214.1 MB
85eb413bd5da 28 hours ago /bin/sh -c #(nop) ARG PIP_INDEX_URL=https:// 0 B
3cee97bf3ce1 28 hours ago /bin/sh -c #(nop) ARG PIP_TRUSTED_HOST=127.0 0 B
cb090c4b1886 28 hours ago /bin/sh -c #(nop) WORKDIR /usr/src/app 0 B
d0a1d3d15f94 28 hours ago /bin/sh -c #(nop) COPY dir:ec1503af2cbef5220d 3.145 kB
e27ecd707562 28 hours ago |1 http_proxy= /bin/sh -c mkdir -p /usr/src/a 0 B
0b6e2857206c 28 hours ago |1 http_proxy= /bin/sh -c VERSION=$(gdal-conf 5.903 MB
2966946ca235 29 hours ago |1 http_proxy= /bin/sh -c apt-get update && a 241.4 MB
eb867117097c 42 hours ago /bin/sh -c #(nop) CMD ["python2"] 0 B

其次,使用相同的脚本构建失败:
Chriss-MacBook-Pro:~ technicaltitch$ docker history 5ee
IMAGE CREATED CREATED BY SIZE COMMENT
5ee29875a771 29 hours ago /bin/sh -c #(nop) ARG PIP_INDEX_URL=https:// 0 B
daad37fd701b 29 hours ago /bin/sh -c #(nop) ARG PIP_TRUSTED_HOST=127.0 0 B
f891ee9277da 29 hours ago /bin/sh -c #(nop) WORKDIR /usr/src/app 0 B
2cce4acf9f2f 29 hours ago /bin/sh -c #(nop) COPY dir:ec1503af2cbef5220d 3.145 kB
9484e6b7fa51 29 hours ago |1 http_proxy=None /bin/sh -c mkdir -p /usr/s 0 B
0031cdd56926 29 hours ago |1 http_proxy=None /bin/sh -c VERSION=$(gdal- 5.903 MB
03e5040df047 <-- [already diverged] |1 http_proxy=None /bin/sh -c apt-get update 243.1 MB
eb867117097c 42 hours ago /bin/sh -c #(nop) CMD ["python2"] 0 B

最后,这是神奇成功之后的图像历史。当此方法有效时,我还没有删除其他图像(现在还没有):
Chriss-MacBook-Pro:~ technicaltitch$ docker history fdw_app
IMAGE CREATED CREATED BY SIZE COMMENT
edc615da4d6f 26 hours ago /bin/sh -c #(nop) ENTRYPOINT ["/usr/src/app/ 0 B
747c8744f6a7 26 hours ago /bin/sh -c #(nop) EXPOSE 8000/tcp 0 B
8c543333e10b 26 hours ago /bin/sh -c #(nop) USER [django] 0 B
b08f02d80d29 26 hours ago |3 PIP_INDEX_URL=https://pypi.python.org/simp 15.39 MB
ba42415ad78b 26 hours ago |3 PIP_INDEX_URL=https://pypi.python.org/simp 335.2 kB
027e0c8e39a9 26 hours ago |3 PIP_INDEX_URL=https://pypi.python.org/simp 0 B
d56a78c02d18 26 hours ago /bin/sh -c #(nop) COPY dir:9274abe4540edd1e86 15.39 MB
bc65bc84abbc 28 hours ago |3 PIP_INDEX_URL=https://pypi.python.org/simp 0 B
f70ecc01cada 28 hours ago |3 PIP_INDEX_URL=https://pypi.python.org/simp 214.1 MB
85eb413bd5da 28 hours ago /bin/sh -c #(nop) ARG PIP_INDEX_URL=https:// 0 B
3cee97bf3ce1 28 hours ago /bin/sh -c #(nop) ARG PIP_TRUSTED_HOST=127.0 0 B
cb090c4b1886 28 hours ago /bin/sh -c #(nop) WORKDIR /usr/src/app 0 B
d0a1d3d15f94 28 hours ago /bin/sh -c #(nop) COPY dir:ec1503af2cbef5220d 3.145 kB
e27ecd707562 28 hours ago |1 http_proxy= /bin/sh -c mkdir -p /usr/src/a 0 B
0b6e2857206c 28 hours ago |1 http_proxy= /bin/sh -c VERSION=$(gdal-conf 5.903 MB
2966946ca235 <-- [correct img, suddenly..why?!] ..xy= /bin/sh -c apt-get update && a 241.4 MB
eb867117097c 42 hours ago /bin/sh -c #(nop) CMD ["python2"] 0 B

以下是两个Dockerfile的开始。我试图使docker-compose.yml中的机器定义相同,但无济于事(可能在创建03e镜像之后)。
FROM python:2.7

RUN apt-get update && apt-get install -y vim gdal-bin libgdal-dev postgresql-client

# On Jessie, $(gdal-config --version) gives 1.10.1 and Pypi only has 1.10.0
# so we need to strip the last part of the version number
RUN VERSION=$(gdal-config --version); CFLAGS=$(gdal-config --cflags) easy_install GDAL==${VERSION%.*}

RUN mkdir -p /usr/src/app/requirements
COPY requirements /usr/src/app/requirements

WORKDIR /usr/src/app

ARG PIP_TRUSTED_HOST=127.0.0.1
ARG PIP_INDEX_URL=https://pypi.python.org/simple/
RUN pip install --no-cache-dir -r requirements/production.txt

# Clean up APT when done.
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

COPY . /usr/src/app

RUN mkdir -p /usr/src/app/log

1 Câu trả lời

COPY requirements /usr/src/app/requirements



如果您更改此目录中的任何文件,此后将使缓存无效。这包括您的编辑器创建的tmp文件,除非您将它们放在 .dockerignore文件中。

ARG PIP_TRUSTED_HOST=127.0.0.1 ARG PIP_INDEX_URL=https://pypi.python.org/simple/



如果您更改这两个ARG中的任何一个,它将从此刻起使缓存无效。

我的猜测是这些更改之一,导致它跳过了缓存。

关于docker - Docker docker-compose不获取相关的缓存镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39099439/

34 4 0
Bài viết được đề xuất: sed - 无法使用sed自定义mariadb Dockerfile中的缓冲区大小
Bài viết được đề xuất: javascript - insertBefore 语句中的参数无效
Bài viết được đề xuất: javascript - div 中的 ajax html
Bài viết được đề xuất: docker - Docker容器中的网络性能降低
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com