前段時間運維向我反饋了一個需求,他們在啓動容器的時候使用了--restartalways 啓動了容器(就是把容器的啓動捆綁了docker引擎的啓動),但是他們現在想修改成不關聯啓動。我當時楞了一下,當時沒有想到如何去解決這個問題。
/var/lib/docker/container/容器ID,在下面我遍歷裏面的所有文件,終於在目錄下的hostconfig.json發現了一個有趣的參數"RestartPolicy":{"Name":"always","MaximumRetryCount":0},這個不就是我們配置的參數嗎?我的第一感覺這樣的。我就修改了這個參數修改成了no。然後我迫不及待的用 service docker restart 命令重啓了我的docker引擎。但是悲催的事情發生,那個容器還是頑強的起來了,我不死心,又到那個文件裏查看了一下,發現剛修改的那個參數有變成了alawys,我當時就不樂意了。這個東東還有其他保存默認的地方覆蓋了我的修改嗎?
當我準備想放棄的時候,突然我醒悟了一下。是不是,我修改參數的時候沒有關掉docker引擎導致配置寫不進去呢?但是,我就使用 service docker stop 命令先關掉docker的引擎。然後修改剛纔的參數重啓後。我沒有使用 docker ps 去查看運行中的容器,直接有查看了剛纔的那個參數的值,binggo,變成了no。當時,我心裏大定,着一定OK了。果不其然,當我使用docker ps 命令去查看的是,終於沒有看到我剛纔修改的容器了,當我在用docker ps -a 查看所有的容器的時候,發現那個容器靜靜的躺在列表中。這個問題圓滿解決。