docker修改未启动容器的配置信息操作_docker

来源:脚本之家  责任编辑:小易  

之前一开始用docker并没有使用dockerfile或者docker-compose编排服务,直接使用docker run启动的容器,结果一不小心配置文件出错或者给停掉了那就导致服务再也启动不了了,这时候不要着急,使用以下办法既可以修改配置文件还可以修改启动容器的端口信息和其他配置信息,这样容器中的文件和数据还是存在的。

1、修改容器内的配置信息

这里以nginx启动为例子,比如用docke run创建了一个nginx的容器,结果因为使用docker exec ** bash 修改了内部nginx的配置文件,导致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时的配置信息

这种情况比如我的容器被停掉了,然后有其他的服务想用我这个容器映射出来的端口号或者我的容器想重新修改当时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服务,不重启的话不会生效的
systemctl docker restart

通过以上两种情况的下的配置修改,对于docker run启动的容器出现问题都可以在此修改并正常启动,一般最好使用docker-compose的方式启动容器最佳。

补充知识:docker怎么查看容器启动日志

sudo docker logs -f -t --tail 行数 容器名

命令格式:

$ 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修改未启动容器的配置信息操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持真格学网。

您可能感兴趣的文章:Docker 配置阿里云容器服务操作Docker容器网络端口配置过程详解docker中容器的网络配置常用命令详解win7环境下Docker快速构建及阿里云容器加速配置详解Docker容器修改配置文件的实现Docker配置容器位置与小技巧总结nginx在docker容器中自动生成配置文件

  • 本文相关:
  • docker容器内网络请求缓慢问题解决
  • docker安装elasticsearch7.6集群并设置密码
  • 详解docker守护进程的配置及日志
  • docker.service启动失败:unit not found的原因及解决办法
  • 详解使用dockerfile创建带apache服务的centos docker镜像
  • 简单谈谈docker镜像的使用方法
  • docker容器无法访问宿主机端口的解决
  • docker环境下安装jenkins容器的详细教程
  • centos下docker的安装教程详解
  • docker 在容器外执行某个容器内的某个命令操作
  • Docker容器怎样更改容器内应用程序的配置文件
  • docker 容器不运行怎么修改文件
  • docker启动容器后如何更新参数
  • docker 容器不运行怎么修改文件
  • 如何启动一个已经创建的docker容器,并进入SHELL对...
  • 如何启动一个已经创建的docker容器,并进入SHELL对...
  • 如何启动一个已经创建的docker容器,并进入SHELL对...
  • 一个运行中的Docker容器怎么修改执行run命令时的环...
  • 如何修改docker中部署的代码
  • 一个运行中的Docker容器怎么修改执行run命令时的环...
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全dockerhyper-vvmwarevirtualboxxenserverkvmqemuopenvzxencloudstackopenstack云计算技术云其它首页服务器云和虚拟化docker 配置阿里云容器服务操作docker容器网络端口配置过程详解docker中容器的网络配置常用命令详解win7环境下docker快速构建及阿里云容器加速配置详解docker容器修改配置文件的实现docker配置容器位置与小技巧总结nginx在docker容器中自动生成配置文件docker容器内网络请求缓慢问题解决docker安装elasticsearch7.6集群并设置密码详解docker守护进程的配置及日志docker.service启动失败:unit not found的原因及解决办法详解使用dockerfile创建带apache服务的centos docker镜像简单谈谈docker镜像的使用方法docker容器无法访问宿主机端口的解决docker环境下安装jenkins容器的详细教程centos下docker的安装教程详解docker 在容器外执行某个容器内的某个命令操作docker 给运行中的容器设置端口映docker获取镜像报错docker: errodocker 清理命令集锦docker.service启动失败:unit nubuntu14.04+docker的安装及使用浅谈docker-compose网络设置之nedocker容器如何优雅的终止详解docker容器访问宿主机网络的方法centos7 安装docker 解决启动不了详解docker国内镜像拉取和镜像加docker启动java程序的方法步骤docker容器启动后添加端口映射docker配置国内加速器加速镜像下载的方法linux下docker 容器退出bash的两种实现方docker实现mariadb分库分表及读写分离功能docker实现同ip网段联通的实现docker容器与主机间的文件传输方法(复制/详解基于docker 如何部署surging分布式微docker下的 redis 之持久化存储详解docker 如何搭建私有仓库(ubuntu 14.04,
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved