【发布时间】:2017-09-25 14:37:07
【问题描述】:
这可能是重复的,但我看到的所有答案都不适合我。
我正在使用 docker (17.06.2-ce)、docker-compose (1.16.1)。
我有一张 solr 图像,用于开发和测试目的(也用于 CI)。 在对镜像进行更改时,我需要重新构建镜像并重新创建容器,以便容器使用可能的最新镜像,进而从本地 repo 获取最新的可能代码。
我创建了自己的基于官方 solr-docker 镜像的镜像。 repo 是一个文件夹,其中包含我对图像应用的其他步骤,例如复制文件和使用 sed 对现有配置进行更改。
我在 repo 中工作并让容器在后台运行。
当我需要刷新容器时,我通常会执行这些命令
sudo docker-compose stop
sudo docker rm $(sudo docker ps -a -q)
sudo docker rmi $(sudo docker images -q)
sudo docker-compose up
以上 4 个命令是 唯一的方法它适用于我。我尝试过的所有其他方法都没有重建图像,也没有根据新的重建图像创建容器。换句话说,图像中的代码将是陈旧的。
问题:
- 是否可以使用更少的命令刷新图像 + 重建容器?
- 每次我运行以上 4 个命令时,docker 都会下载 ~500MB 的依赖项。是否可以不下载它们而只使用更新的本地代码和现有的缓存依赖项重建图像?
【问题讨论】:
-
下载的依赖是什么?它们不应该是图像,因为 docker 会在本地缓存基础图像
标签: docker docker-compose development-environment