zoukankan      html  css  js  c++  java
  • docker 已有容器修改容器配置

    背景:目前有一个简单的MySQL8容器,端口映射错误、文件挂载没做。

    需求:动态修改容器相应属性配置

    实现方案:直接修改容器配置文件,重启容器

    实现步骤:

    查看容器id

    docker ps -a

    创建docker容器文件临时存放目录,创建mysql配置文件存放目录

    mkdir -p /tmp/docker/containers
    mkdir -p /etc/mysql

    复制原有容器所有文件至新目录下

    # 复制旧有文件到临时目录下
    cp
    -r /var/lib/docker/containers /tmp/docker/containers
    # 复制旧有文件到备份目录下
    cp -r /var/lib/docker/containers /tmp/docker/containers_bak
    cd /tmp/docker/containers

     由于容器实际名字很长,所以docker查看指令是截取了一截的,我们能够确认就行。

    编写配置文件复制脚本 update_mysql_conf.sh

    vim update_docker_mysql_conf.sh

     脚本内容

    cp -r /tmp/docker/containers/3cb49e5500c3ed4fd8ff4e48e303668c97cbc7732f02195806c87f0e3687604d/config.v2.json /var/lib/docker/containers/3cb49e5500c3ed4fd8ff4e48e303668c97cbc7732f02195806c87f0e3687604d/config.v2.json
    cp -r /tmp/docker/containers/3cb49e5500c3ed4fd8ff4e48e303668c97cbc7732f02195806c87f0e3687604d/hostconfig.json /var/lib/docker/containers/3cb49e5500c3ed4fd8ff4e48e303668c97cbc7732f02195806c87f0e3687604d/hostconfig.json
    update_mysql_conf.sh

    关闭容器(必须执行)此处如果是在hyper-V容器虚拟机的化,建个检查点备份最为稳妥

    # 查询正在运行的容器
    docker ps
    # 一个一个关闭所有容器
    docker stop [容器id]
    # 验证是否有漏网之鱼没有关闭
    docker ps
    # 关闭容器服务
    systemctl stop docker

    授予脚本执行权限、执行脚本复制配置文件

    chmod +x update_mysql_conf.sh
    ./update_mysql_conf.sh

     修改端口映射配置

    修改hostconfig.json文件的PortBindings配置,把文件类容复制出来,浏览器打开一个json校验网站:bejson.comjson.cn

    修改文件挂载配置(本人使用该方案没有生效,而另外一种基于已有容器生成新的镜像的不建议使用。)

    此处修改配置文件挂载失败。可以尝试先找到容器内的文件在宿主的未知后,然后建立软链接。

    文件位置查找指令:docker inspect 容器Id

    • 修改hostconfig.json文件的Binds配置

    • 修改config.v2.json文件的MountPoints添加一个配置

     执行配置文件移动脚本,直接执行启动mysql容器指令(该指令在docker容器关闭的情况下会自动先启动docker容器)

    /tmp/docker/containers/update_docker_mysql_conf.sh
    docker stop mysql

    检验:通过3306端口连接mysql,连接成功

  • 相关阅读:
    多项式求逆
    luoguP3380 【模板】二逼平衡树(树套树)
    NTT
    poj2728 Desert King
    eclipse使用
    Java之面向对象
    Python实现终端高亮显示
    requests
    Go基础
    0919CSP-S模拟测试赛后总结
  • 原文地址:https://www.cnblogs.com/jiangdewen/p/15111699.html
Copyright © 2011-2022 走看看