佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > docker修改未啟動容器的配置信息操作

docker修改未啟動容器的配置信息操作

熱門標簽:智能手機 網(wǎng)站建設(shè) 檢查注冊表項 硅谷的囚徒呼叫中心 美圖手機 使用U盤裝系統(tǒng) 阿里云 百度競價點擊價格的計算公式

之前一開始用docker并沒有使用dockerfile或者docker-compose編排服務(wù),直接使用docker run啟動的容器,結(jié)果一不小心配置文件出錯或者給停掉了那就導(dǎo)致服務(wù)再也啟動不了了,這時候不要著急,使用以下辦法既可以修改配置文件還可以修改啟動容器的端口信息和其他配置信息,這樣容器中的文件和數(shù)據(jù)還是存在的。

1、修改容器內(nèi)的配置信息

這里以nginx啟動為例子,比如用docke run創(chuàng)建了一個nginx的容器,結(jié)果因為使用docker exec ** bash 修改了內(nèi)部nginx的配置文件,導(dǎo)致nginx容器再也無法啟動了,那這種情況該怎么辦呢

#首先進入以下目錄
cd /var/lib/docker/overlay2
#查找配置文件
find ./ -name nginx.conf
./a45cd97113877fb480f66e0d982a594c7b18f2035c16e1f7eb687eef15552272/diff/etc/nginx/nginx.conf
./feff64c1f27a695e531c4654afa3b06e1ca84cc38d81cec76dc5ef52f6821c44/diff/etc/nginx/nginx.conf
./feff64c1f27a695e531c4654afa3b06e1ca84cc38d81cec76dc5ef52f6821c44/merged/etc/nginx/nginx.conf
#然后cd到nginx.conf的所在目錄
cd ./feff64c1f27a695e531c4654afa3b06e1ca84cc38d81cec76dc5ef52f6821c44/diff/etc/nginx
#比如我的nginx的配置文件是在conf.d文件夾下
cd conf.d
default.conf
#觀察里面的配置信息是不是自己nginx的配置信息,如果是的話那就修改它就行了,不是的話就看find查找出來的其他目錄中用同樣的方式去找就可以了
vim *.conf
#修改好配置文件后,直接啟動比如我的nginx容器名是apg_nginx
docker start apg_nginx

2、修改docker run時的配置信息

這種情況比如我的容器被停掉了,然后有其他的服務(wù)想用我這個容器映射出來的端口號或者我的容器想重新修改當時run配置的信息那怎么辦呢?

#進入以下目錄
cd /var/lib/docker/containers
096ed809576e948ada99be65faa181b7f926dd0e655c4c373169305a1954c115 d570bc34c3bb5955ec4c336ad3eeb6105ed49e33e87b8dfd35da3c907d074fdc
662d928aada58645e84fba34f1a1c54696061b767e3e262ccf6562db0498e733 e7237690488f15e40a6462df9cdcfeda83a6f7a74517662935c0a149dd36e057
92bb44f63186c3d80ab8557f84cb1ce907aedab714bb0109827dbfed5641daa8 f2849f199fd78b1636aaedf0bd890c12e7c6d8c6ad5849fff2670920e5e37c7d
d27bdc6286dd3314a1116115cab3a33233b9f4fba45ae4c88a6756d5c04a9aa9
#查看自己容器的hash值,hash值開頭的文件夾就是容器的配置目錄
docker ps -a
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS      PORTS     NAMES
096ed809576e  nginx    "nginx -g 'daemon of…" 3 months ago  Up 33 minutes    0.0.0.0:8081->80/tcp  apg_nginx
#進入096開頭的目錄
cd 096ed809576e*
drwx------ 4 root root 4096 Jun 22 21:41 ./
drwx------ 9 root root 4096 Mar 8 18:07 ../
-rw-r----- 1 root root 2559664 Jun 22 21:47 096ed809576e948ada99be65faa181b7f926dd0e655c4c373169305a1954c115-json.log
drwx------ 2 root root 4096 Mar 8 18:07 checkpoints/
-rw------- 1 root root 3408 Jun 22 21:41 config.v2.json
-rw-r--r-- 1 root root 1519 Jun 22 21:41 hostconfig.json
-rw-r--r-- 1 root root  13 Jun 22 21:41 hostname
-rw-r--r-- 1 root root  174 Jun 22 21:41 hosts
drwx------ 3 root root 4096 Mar 8 18:07 mounts/
-rw-r--r-- 1 root root  259 Jun 22 21:41 resolv.conf
-rw-r--r-- 1 root root  71 Jun 22 21:41 resolv.conf.hash
#hostconfig.json就是存放run啟動時的配置信息的文件
vim hostconfig.json
#在里面找到HostPort值就是映射到宿主機的端口號,可以自己修改,修改完成后要重啟docker服務(wù),不重啟的話不會生效的
systemctl docker restart

通過以上兩種情況的下的配置修改,對于docker run啟動的容器出現(xiàn)問題都可以在此修改并正常啟動,一般最好使用docker-compose的方式啟動容器最佳。

補充知識:docker怎么查看容器啟動日志

sudo docker logs -f -t --tail 行數(shù) 容器名

命令格式:

$ docker logs [OPTIONS] CONTAINER
Options:
--details 顯示更多的信息
-f, --follow 跟蹤實時日志
--since string 顯示自某個timestamp之后的日志,或相對時間,如40m(即40分鐘)
--tail string 從日志末尾顯示多少行日志, 默認是all
-t, --timestamps 顯示時間戳
--until string 顯示自某個timestamp之前的日志,或相對時間,如40m(即40分鐘)

查看最近30分鐘的日志:

$ docker logs --since 30m CONTAINER_ID

查看某時間之后的日志:

$ docker logs -t --since="2019-08-02T13:23:37" CONTAINER_ID

查看某時間段日志:

$ docker logs -t --since="2019-08-02T13:23:37" --until "2019-08-03T12:23:37" CONTAINER_ID

以上這篇docker修改未啟動容器的配置信息操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

標簽:黃山 賀州 山南 湖北 湘潭 煙臺 懷化 通遼

巨人網(wǎng)絡(luò)通訊聲明:本文標題《docker修改未啟動容器的配置信息操作》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    云阳县| 阿拉善盟| 旬阳县| 永善县| 瓦房店市| 汶上县| 德阳市| 汕头市| 永城市| 根河市| 自治县| 汤原县| 梓潼县| 沁水县| 桐柏县| 古浪县| 阜阳市| 淄博市| 桃源县| 大关县| 平山县| 新竹市| 玛沁县| 榕江县| 华阴市| 青海省| 东乡族自治县| 新巴尔虎左旗| 舒兰市| 贺兰县| 广元市| 黑龙江省| 东乡族自治县| 玉溪市| 焦作市| 乐亭县| 拜泉县| 蕲春县| 合山市| 凤翔县| 石景山区|