我測試的是保留的,比如我在mysql鏡像數(shù)據(jù)庫里新建了一個表,
重新docker-compose up
以后,之前的表還存在,
不過沒法理解啊,難道docker-compose up
不是重新生成了鏡像的實例嗎?
每個docker-compose.yml其實只能生成一個實例?要reset的話必須手動刪除之前的實例
docker-compose up
會優(yōu)先使用已有的容器,而不是重新創(chuàng)建容器。
下面的方法可以解決你的問題:
docker-compose up -d --force-recreate
使用 --force-recreate
可以強(qiáng)制重建容器 (否則只能在容器配置有更改時才會重建容器)
docker-compose down
停止所有容器,并刪除容器 (這樣下次使用docker-compose down
停止所有容器,并刪除容器 (這樣下次使用docker-compose up
時就一定會是新容器了)
docker-compose up是創(chuàng)建和啟動容器,具我所知只有在三種情況下會重新創(chuàng)建容器(即先刪除舊的容器,再生成一個新的):
1.當(dāng)鏡像有更新時,會重新創(chuàng)建容器;
2.容器不存在(即被刪除了);
3.當(dāng)容器A重新創(chuàng)建時,其依賴此容器的容器將會重新創(chuàng)建(即docker-compose.yml文件中的容器設(shè)置了depends_on為容器A的容器)