Docker 编译 缓存?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 编译 缓存?相关的知识,希望对你有一定的参考价值。
我在使用 docker-compose 时遇到了非常奇怪的行为。我有一个仓库配置为与 docker swarm
用于生产和 docker-compose
用于开发。Swarm在生产中运行良好,但 docker-compose
有着奇怪的行为。
具体来说,我用参数替换来定义构建参数,就像这样
build:
context: .
args:
- APP_DIRECTORY=${APP_DIRECTORY:-/srv/app}
- APP_ENV=${APP_ENV:-dev}
当 APP_ENV
未定义或为空,它应该取值为 dev
. 原本还能正常工作,但现在却取了这个值 prod
变量未定义时。我重新启动,清除了所有环境变量,甚至删除了 docker-compose
并再次安装,并 APP_ENV
挨打 prod
. 是否有某种我没有意识到的由compose做的缓存?
另一个奇怪的行为,是 docker-compose
正在向容器传递与代理相关的环境变量。这些变量没有在编译文件中指定,甚至在主机上也不存在。同样,是否有一些缓存发生?为什么是 docker-compose
将我没有要求的env变量传递给容器?
我犯了一个愚蠢的错误,我有个 .env
文件在同一目录下,并且 docker-compose
正在从文件中读取变量。
以上是关于Docker 编译 缓存?的主要内容,如果未能解决你的问题,请参考以下文章
Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题
Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题
Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段