如果图像存在,docker可以构build跳过构build吗?
是否有可能运行docker-compose up
只有在图像不存在于存储库时才会构build?
我正在testing将在两种不同的环境中运行的testing场景:作为testing自动化的一部分,在笔记本电脑上和服务器上运行。 我的docker-compose文件看起来像这样:
services: my-service1: build: "./local-repo1" image: "image1" my-service2: build: "./local-repo2" image: "image2" ...
如果我在本地运行它本地回购目录存在它运行良好。 如果我尝试在服务器上运行它,而不是从docker仓库中取出,它会抱怨找不到构buildpath。 如果我拿出build
属性,它在服务器上运行良好,但它不会在本地运行,除非我预先生成的图像。
有没有办法让它只尝试构build,如果图像不存在? 如果没有,我可以尝试一些解决方法,但我宁愿只使用一个处理每个案件的docker-compose文件。
您可以使用docker-compose pull
来获取图像。 那么如果它们已经存在,Compose将不会再尝试构build它们。
要确保避免重build,可以使用--no-build
。
docker-compose pull docker-compose up -d --no-build
你真正的问题是你指定了一个构build上下文,但是然后尝试使用docker-compose而没有构build上下文。
当docker-compose运行时, 即使它没有计划进行构build ,它也会validation构build上下文是否至less存在。 如果没有,那就会失败。
所有你需要做的,以满足这个要求是为任何缺less的构build上下文创build一个空目录。 这应该使docker组成足够快乐的运行。
mkdir local-repo1 local-repo2
- 从私有Dockerregistry中删除图像的方法
- 什么可能会导致docker容器在两个主机上执行su命令的方式不同?
- Docker的私人registry与多个registryurl使用nginx
- Mono.Btls.MonoBtlsException:Ssl错误:1000007d:SSL例程:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
- gdb无法附加到进程
- 将NFS服务器放入泊坞窗容器中
- 在AWS上使用Kubernetes创build和运行Docker容器集群
- Docker – 备份/导出其他容器使用的数据容器卷
- Django应用程序服务器挂起/不会在Docker Compose中启动