这可能是重复的,但我看到的所有答案都不适用于我。
我正在使用docker(17.06.2-ce),docker-compose(1.16.1)。
我有一个solr的图像,我将其用于开发和测试目的(以及CI)。 在对图像进行更改时,我需要重建图像并重新创建容器,以便容器使用最新的图像,然后从本地仓库中获取最新的代码。
我创建了自己的图像,它基于官方的solr-docker图像。 repo是一个文件夹,其中包含我正在应用于图像的其他步骤,例如使用sed复制文件和更改现有配置。
我在回购中工作并让容器在后台运行。
当我需要刷新容器时,我通常会执行这些命令
sudo docker-compose stop
sudo docker rm $(sudo docker ps -a -q)
sudo docker rmi $(sudo docker images -q)
sudo docker-compose up
以上4个命令是唯一的方式它对我有用。我尝试过的所有其他方法都不会重建图像,也不会根据新的重建图像创建容器。换句话说,图像中的代码将是陈旧的。
问题:
答案 0 :(得分:1)
我通常会docker-compose rm && docker-compose build && docker-compose up
重新创建docker容器:它不会下载500mb。
答案 1 :(得分:0)
您可以使用docker-compose down
执行以下操作:
down Stop and remove containers, networks, images, and volumes
因此,使用的命令为:docker-compose down --rmi local && docker-compose up
--rmi local
选项将删除构建的图片,从而强制重建up