美文网首页
修改运行中容器文件和配置

修改运行中容器文件和配置

作者: 上岸的魚 | 来源:发表于2020-04-17 22:22 被阅读0次

1.修改容器文件

通常我们修改容器内文件有几种方式:
1.主机中修改文件后覆盖容器文件

复制nginx容器中/usr/share/nginx/nginx.conf 文件到宿主机/user/local目录
docker cp nginx:/usr/share/nginx/nginx.conf   /usr/local

然后我们在宿主机修改该文件后,再执行如下命令复制到容器中:
docker cp /usr/local/nginx.conf nginx:/usr/share/nginx
2.进入容器中修改文件(需容器运行状态)
docker exec -it 容器名或容器ID /bin/bash
然后在容器中修改文件
3.从宿主机直接修改
进入宿主机的/var/lib/docker/overlay2目录,所有的容器文件都在这个目录中,其目录结构如下:

[root@k8s-node2 data]# ll /var/lib/docker/overlay2
total 1376
drwx------ 3 root root  4096 Mar 24 22:33 017c8544da18e0728802afacaf1d4b82b2e25a45f002387127e1e7562b97f157
drwx------ 4 root root  4096 Apr  9 21:24 01945d88acf69858bd36aa58b1664d0ae1dcbf3fb577834a5448bda9d58f1955
drwx------ 4 root root  4096 Apr  4 22:25 028f3a02847ba35657291909eec22d550e619d0e9d04d16aa38d49b2db1b7ff4
drwx------ 4 root root  4096 Mar 18 10:33 03357dacab2261da06b1a60c4fe68848c1b2ccd46243ea0da4d624007985cc6a
drwx------ 4 root root  4096 Apr 13 09:06 03a6adb86b2e3f26e736d009a3bcda6d6408333a548fba26eb1658ffada34c4a
drwx------ 4 root root  4096 Mar 22 23:43 03e68a8a3e8a27486fba3449777bbe1621771aca00a92174816d2d6198ead090
drwx------ 4 root root  4096 Apr  5 11:41 05591f24968845b558618ff1d23686db0bd31c134c220de3ebfb57d34ee59043

这个目录结构完全无法看懂,我们可以通过如下命令找出其与容器之间的对应关系:

[root@k8s-node2 data]# docker ps -a -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}'
6893, f730670581305a7f0a86cd867de5a4a5a05cf2daae394e37a0fbb3ac0abe22b6, /k8s_mysql_mysql-deploy-7f7f6df98b-lk8br_kube-system_66a7e8b3-2633-4ddc-9dc2-/var/lib/docker/overlay2/edb7dd0f6081069381beb010560ff9b9d1858197adb05951cd20c81051017bad/work
5607, 2b28b834d7dfb4475986f3bca4e1108d7db1c1b07c735d773b2e048f4a0f2103, /k8s_prometheus_prometheus-68545d4fd8-4knl8_kube-system_ee24ecd5-81e8-40a0-9e67-88287be62e60_0, /var/lib/docker/overlay2/ad8de96993c535629d7fc2c0c956c31fd2da48a24854beaa03aac2d44c511e97/work
5474, eab2e034d2d80e487366e0c3d8a2105e0d59af06ec09545824188dace58ec379, /k8s_kong-konga_kong-konga-7cbf568cd7-944kx_kong_f2fc8ebd-77c8-4fd7-a807-963dc113218c_0, /var/lib/docker/overlay2/7db1798e730e5f298961cc3c61fe0760bf9257522b6772285bc7d196a28978e5/work
5426, 950b7c7391b1169c049e5b3e5035b717835a02aa800c296417f76c6d9da40ad8, /k8s_kubernetes-dashboard_kubernetes-dashboard-8594bd9565-8vdnn_kube-system_1d7a1aff-8caf-4a15-9dab-6f8b769b822d_0, /var/lib/docker/overlay2/d6a07bf5fae0c231bea7706d42586e7e2f4e9280bf5e7282715f5fb458fb9147/work

然后我们进入指定目录,以ES容器为例,我们进入其config目录修改文件,其路径如下:
/var/lib/docker/overlay2/d32d5b3effa141152f7385a954cdcd1725967f30418a55d314913a98f18f8fa7/diff/usr/share/elasticsearch/config
修改完毕后,重启容器即可。

2.修改环境变量

容器运行时我们使用docker run 命令通常会为容器添加一些支持时的环境变量,如果容器运行后再修改这些环境变量该如何操作呢?
一个容器所有的配置参数都保存在这个文件中,我们可以直接修改这个文件内容
/var/lib/docker/containers/【ID】/config.v2.json
【ID】获取方式和上面的一样,仍然使用docker ps -a -q | xargs docker inspect --format '{{.Id}}, {{.Name}}'即可
注意操作顺序:
1.先停止docker '''service docker stop'''
2.vim修改/var/lib/docker/containers/【ID】/config.v2.json,这个json格式没有排版比较难处理。
3.再启动docker '''service docker start'''
示例:修改容器为自启动

service docker stop 
vim /var/lib/docker/containers/【ID】/hostconfig.json找到
RestartPolicy改为如下内容
{"Name":"always","MaximumRetryCount":0}
保存后重启容器
service docker start

通常不建议这么修改容器配置,其缺点:如果你采用的是k8s部署模式,应该从yaml文件或镜像源入手,因为k8s会自动调度或重新部署,导致修改无效;

相关文章

  • docker 命令存档

    启动,暂停和重启 进入运行容器修改文件 一个命令分解 一个实际应用 进入运行中容器,修改配置文件,重启容器

  • 修改运行中容器文件和配置

    1.修改容器文件 通常我们修改容器内文件有几种方式:1.主机中修改文件后覆盖容器文件 然后我们在宿主机修改该文件后...

  • Docker搭建Nacos1.4+Seata1.4+MySQL8

    1. 运行nacos容器 2. 运行seata容器 3. copy配置文件 4. 删除容器 5. 修改配置文件注册...

  • linux安装docker

    使用yum安装 运行docker服务 运行容器 docker命令 修改配置文件 增加修改内容 配置生效命令

  • docker部署gitlab

    docker部署gitlab 下载镜像 运行容器 修改root用户密码 修改配置 修改gitlab.rb文件配置主...

  • 在一个已经 "exit” 的docker容器中修改配置文件

    在一个已经 "exit” 的docker容器中修改配置文件1 运行命令 docker inspect [CONTA...

  • 3、Docker中常见问题

    1、直接docker容器中配置文件,导致容器无法启动 容器中的配置文件被修改错误,导致容器无法启动,容器无法启动则...

  • 不使用run的方式进行volume挂载

    修改配置文件:当容器已经运行起来,不想重新run一个容器进行挂载,那么就使用修改容器的 config.v2.jso...

  • docker:在docker上安装oracle11g

    时间略长 拉镜像 运行 进入容器 切换root用户,密码:helowin 刷新配置文件 修改账户

  • docker安装Nginx

    下载nginx1.10的docker镜像: 从容器中拷贝nginx配置先运行一次容器(为了拷贝配置文件): 将容器...

网友评论

      本文标题:修改运行中容器文件和配置

      本文链接:https://www.haomeiwen.com/subject/alwuvhtx.html