每次构建容器时,我都必须等待apk add docker
完成,这需要很长时间。
既然每次下载都相同,那么我是否可以出于某种目的强制Docker缓存apk的下载内容?
这是我的Dockerfile:
FROM golang:1.13.5-alpine
WORKDIR /go/src/app
COPY src .
RUN go get -d -v ./...
RUN go install -v ./...
RUN apk add --update docker
CMD ["app"]
顺便说一句,如果重要的话,我会在
volumes: - /var/run/docker.sock:/var/run/docker.sock
中使用这部分docker-compose.yml
来使用同级容器。编辑:我发现谷歌复制
docker.tgz
in Chromium:# add docker client -- do not install docker via apk -- it will try to install
# docker engine which takes a lot of space as well (we don't need it, we need
# only the small client to communicate with the host's docker server)
ADD build/docker/docker.tgz /
那
docker.tgz
是什么?我怎么才能得到它?
最佳答案
重新排序您的Dockerfile,它应该可以工作。
FROM golang:1.13.5-alpine
RUN apk add --update docker
WORKDIR /go/src/app
COPY src .
RUN go get -d -v ./...
RUN go install -v ./...
CMD ["app"]
在安装前进行复制时,每当您更改
src
中的内容时,缓存将对docker安装无效。
关于docker - Docker没有缓存Alpine apk add命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59327723/