搜尋

首頁  >  問答  >  主體

dockerfile - docker-compose每次up之後,先前在容器中所做的修改保不保留?

我測試的是保留的,例如我在mysql鏡像資料庫裡新建了一個表,
重新docker-compose up以後,之前的表還存在,
不過沒法理解啊,難道docker-compose up不是重新產生了鏡像的實例嗎?
每個docker-compose.yml其實只能產生一個實例?要reset的話必須手動刪除之前的實例

世界只因有你世界只因有你2757 天前1086

全部回覆(2)我來回復

  • 漂亮男人

    漂亮男人2017-04-27 09:04:11

    docker-compose up會優先使用現有的容器,而不是重新建立容器。

    下面的方法可以解決你的問題:

    docker-compose up -d --force-recreate 使用 --force-recreate 可以強制重建容器 (否則只能在容器配置有變更時才會重建容器)

    docker-compose down 停止所有容器,並刪除容器 (這樣下次使用docker-compose down 停止所有容器,并删除容器 (这样下次使用docker-compose up時就一定會是新容器了)

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-27 09:04:11

    docker-compose up是建立和啟動容器,具我所知只有在三種情況下會重新建立容器(即先刪除舊的容器,再產生一個新的):
    1.當映像有更新時,會重新建立容器;
    2.容器不存在(即被刪除了);
    3.當容器A重新建立時,其依賴此容器的容器將會重新建立(即docker-compose.yml檔案中的容器設定了depends_on為容器A的容器)

    回覆
    0
  • 取消回覆