Bootstrap

docker修改已部署容器的配置文件(mysql举例)

1. 如何修改容器的配置文件(已启动的容器)

  • 进入容器

    docker exec -it [容器名] [指定目录]

  • 进入需要修改的配置文件目录

    vim [配置文件名]

  • 可能在vim时会包未找到vim命令,因为在docker中现在还没有安装vim

    apt-get update

    apt-get install -y vim

1.1. 例如:修改运行中mysql的配置文件(不区分大小写)

  • 进入名为mysql_test的容器的指定目录

    docker exec -it mysql_tes /bin/bash

  • 切换到配置文件所在目录

    cd /etc/mysql/mysql.conf.d

  • 修改配置文件cnf

    vim mysqld.cnf

  • 在配置文件中添加

    lower_case_table_names=1
    修改配置文件

  • 退出容器内部

    exit

  • 重启mysql

    docker restart mysql_test

修改完毕

1.2修改mysql的对外端口

  • 查看容器Id
    docker inspect hymysql
    在这里插入图片描述
  • 切换到该容器的目录下
    cd /var/lib/docker/containers/03b59065db…
    在这里插入图片描述
  • 对 hostconfig.json文件进行修改
    vim hostconfig.json
    在这里插入图片描述
  • 将文件中的HostPort的值修改成目标端口保存即可
  • 重启mysql容器,发现端口修改成功

2. 如果配置修改错误,则会直接导致容器启动失败,此时又应该怎样将配置文件修改正确呢?

  • 查看容器内部详细信息

    docker inspect [容器名称]

  • 切换MergeDir的上一级路径,然后进入diff目录即可看到配置文件所在地

2.1例如:重新修改mysql的配置文件

  • 查看容器内部的详细信息

    docker inspect mysql_test
    查看容器内部信息

  • 切换MergeDir的上一级路径

    cd /var/lib/docker/overlay2/dc7c29ad56c6e79da82bed1d998ced660。。。

  • 查看该目录下结构

    ll
    在这里插入图片描述

  • 进入diff目录下,即可看到mysql的配置文件(etc下),进行修改后,即可重启mysql_test容器

  • 配置文件所在地

;