我正在使用RUNls/some/directory
对Dockerfile
进行“printf调试”。在命令运行一次且之前没有任何命令更改后,将缓存结果,并且不提供输出。
我可以用从不执行的部分来更改命令,例如追加< code > | | echo some changing number],这对于每次运行都很烦人,或者关闭构建缓存,这会影响更多的< code >运行,从而减慢< code>Dockerfile的开发。
有没有办法只禁用一个 RUN
的缓存而没有任何描述的缺点?
使用构建arg是可以接受的解决方案吗?
# Dockerfile
FROM alpine
RUN echo "executed 1"
# Above this will be cached, below will be retriggered with new builds
ARG BUILD
RUN echo "executed 2"
然后,使用不同的构建参数号运行以重新运行arg以下的所有内容
$ docker build --build-arg BUILD=2 -t temp .
或者,使用日期
作为内部版本号:
$ docker build --build-arg BUILD="$(date)" -t temp .
我正在为自己建立一个虚拟助手,如果像这里举个例子,要求个人执行每一个命令是错误和无效的: 有没有更有效的方法来检查要执行的命令?
我需要用docker exec运行2个命令。我正在从docker容器中复制一个文件,不想处理凭据来使用像ssh这样的东西。此命令复制一个文件: 但它会创建一个子目录var/log,我想避免这种情况,所以如果我可以在docker容器中执行这些操作,我应该很好: 如何让docker exec运行2个命令?
问题内容: 我目前正在为我的应用程序开发Node后端。在对其进行Docker化(docker build。)时,最长的阶段是。该指令在每个小的服务器代码更改上运行,通过使开发人员每次都等待构建完成来影响生产率。 我发现在应用程序代码所在的位置运行npm install并使用ADD指令将node_modules添加到容器中可以解决此问题,但这远非最佳实践。这有点破坏了将其Docker化的整个想法,并
是否可以从Dockerfile构建映像并使用单个命令运行它 有一个命令来构建Dockerfile,还有来运行映像。 有没有这两个命令的任何组合,使它更容易构建和运行只有一个命令?
我正在使用Guava缓存热数据。当缓存中不存在数据时,我必须从数据库中获取数据: 我的问题是当数据不存在于数据库中时,我希望它返回并且不做任何缓存。但Guava保存与缓存中的关键字,并抛出一个异常,当我得到它: com.google.common.cache.CacheLoader$InvalidCacheLoadExcION: CacheLoader为shisoft键返回null。 我们如何避免
问题内容: 我目前正在为我的应用程序开发Node后端。在对其进行docker化(docker build)时,最长的阶段是。该指令在每个小的服务器代码更改上运行,通过使开发人员每次等待构建完成来影响生产率。 我发现在应用程序代码所在的位置运行npm install并使用ADD指令将node_modules添加到容器中可以解决此问题,但这远非最佳实践。这有点破坏了将其Docker化的整个想法,并且使