docker不删除容器同时修改配置

2024-02-29 14:57:02 浏览数 (1)

一、需求

1、客户新增一个测试项目

2、需要快速安装一个安装mysql 数据库,并对外网进行映射

3、我这边就直接通过容器运行了一个mysql8.0数据库。

4、运行几天后,客户说需要更换3306端口为3308,3306端口需要提供给生产进行使用。无语只能进行修改。(但是又不想把原来的容器删除,重建,只能想其他方法)

代码语言:javascript复制
docker run -d  --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d -v /home/mysql/:/var/lib/mysql mysql:8.0.25 --lower_case_table_names=1

二、解决思路

方法一:通常方法,删掉容器重新运行一次,即可。

代码语言:javascript复制
docker run -d  --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d -v /home/mysql/:/var/lib/mysql mysql:8.0.25 --lower_case_table_names=1

如果之前数据库已经导入数据。直接删除数据,必须要提前备份数据。考虑能不能通过docker 配置文件直接修改。

方法二: 通过修改hostconfig.json 来修改端口

代码语言:javascript复制
# 暂停服务
service docker stop
# 修改hostcaonfig.json
vim /var/lib/docker/containers/[cont_hash_code]/hostconfig.json
# 修改对应配置,保存,启动docker
service docker start

方法三: 建议使用docker-compose进行管理,配置文件好修改。

0 人点赞