mac下docker容器停止运行时修改容器内的配置文件信息(mysql为例)
docker容器工具nsenter
1.docker run -it --privileged --pid=host justincormack/nsenter1
2.cd /var/lib/docker&& ls
进入nsenter容器内,执行
3.cd /var/lib/docker/ && ls
builder containerd image overlay2 runtimes tmp volumes
buildkit containers network plugins swarm trust
进入overlay2下
cd overlay2/ && ls
032aa097f9e44b7fe1983ece7239c5ceb47deaf8dbd8c290a146718265323493
0713cff7f10dfb5d266587b6fa37c96e0d4e32d91828e8789ede09eec2405ee6
6ac139acad4e6d7206e09a590232381d3e4131f95c10790de09777a1b4dbbd16
进入对应的容器
cd 6ac139acad4e6d7206e09a590232381d3e4131f95c10790de09777a1b4dbbd16 && ls
注:6ac139acad4e6d7206e09a590232381d3e4131f95c10790de09777a1b4dbbd16容器(这个容器ID是mysql8的容器ID)
进入diff目录,然后再进入etc目录,mysql的my.cnf配置文件就在这里。
cd diff/etc
配置文件完整目录
/var/lib/docker/overlay2/6ac139acad4e6d7206e09a590232381d3e4131f95c10790de09777a1b4dbbd16/diff/etc
参考链接
https://www.jianshu.com/p/6aefed2be1c7
https://blog.csdn.net/ilovemilk/article/details/80239489
vim
容器内无法使用vim命令:
apt-get update
apt-get install vim
my.cnf开启慢日志(废弃,暂时有问题)
将配置文件外挂到宿主机(macos下):
/Users/ux/Applications/docker/mysql8/conf/my.cnf
slow_query_log=1
slow_query_log_file=/Users/ux/Applications/docker/mysql8/logs/mysql_slow.log
show VARIABLES LIKE '%slow_query_log%'
show VARIABLES like '%slow_query_log%'
set global slow_query_log=1
cd /var/lib/docker/overlay2/6ac139acad4e6d7206e09a590232381d3e4131f95c10790de09777a1b4dbbd16
/Users/ux/Library/Containers/com.docker.docker
screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
screen ~/Library/Containers/com.docker.docker/Data/tasks/com.docker.driver.amd64-linux/tty
screen ~/Library/Containers/com.docker.docker/Data/tasks/com.docker.driver.amd64-linux/tty
[screen is terminating]
docker run -it --rm --privileged --pid=host justincormack/nsenter1
cd /var/lib/docker/containers && ls