1. 程式人生 > >Docker 修改無法啟動的docker容器的配置

Docker 修改無法啟動的docker容器的配置

問題描述

在執行的docker修改了一些配置資訊,因為配置寫錯,導致docker容器無法重新啟動

解決思路

由於docker無法通過命令列的方式進入容器,所以想通過命令列修改的想法失敗。

那怎麼修改呢?

如果你用的是linux系統,linux一些皆檔案,給我們提供了一個思路,docker 的容器目錄一般是在/var/lib/docker/overlay下面,相關的配置資訊也在此目錄下面,如果這裡的配置改對了,啟動也就OK了。

解決步驟

  • 檢視報錯資訊,命令docker logs CONTAINER_ID
[[email protected] ~]# docker logs  efaccf6eb84c
ERROR: mysqld failed while attempting to check config command was: "mysqld --verbose --help --log-bin-index=/tmp/tmp.1whPbDshUV" 2018-03-23 17:26:46 0 [Note] mysqld (mysqld 5.6.36-log) starting as process 10 ... 2018-03-23 17:26:46 10 [Note] Plugin 'FEDERATED' is disabled. 2018-03-23 17:26:46 10 [ERROR] mysqld: unknown variable 'erver_id=111'
2018-03-23 17:26:46 10 [ERROR] Aborting
  • 因為我的報錯跟my.cnf有關,所有我全域性查找了以下
[root@ytx187 ~]# find / -name my.cnf |grep '/etc/mysql/my.cnf'
/var/lib/docker/overlay/32cf05fc36034eb78b6c458085df4e537fecb9e39117a4bd24fb7fd18ff79f97/upper/etc/mysql/my.cnf
/var/lib/docker/overlay/85eb2094b681326d4a203ad88a1715c1cb224575123eb417170101500f263b79/root/etc/mysql/my
.cnf

查到兩條記錄,開啟這兩條資料,發現配置資訊錯誤的地方,通過vim修改之後,重新啟動容器,就好了

總結

其實,直接進入容器修改配置檔案,出錯了也可以在宿主主機上修改,這個和指定配置檔案是一樣的道理,只不過,在沒有指定的情況下,配置是預設的,是docker自動生成的