一、需求
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