简述

有的时候你可能需要修改容器的默认端口号,修改容器的默认端口号和修改宿主机的类似,都是修改配置文件中的默认端口,下面已MySQL例,如下将默认端口号修改为33077
在这里插入图片描述

一、创建容器
docker run --name mysql-test -itd -p 3307:33077 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest

在这里插入图片描述

二、修改默认端口号

有一种比较常用的方法就是,在你启动容器时将配置文件挂载到宿主机,修改就更加方便,配置文件路径不同的版本会有差异, mysql 不能直接挂载,必须在宿主机上新建配置文件,具体操作可以参考 https://www.cnblogs.com/smallmin/p/11582954.html

下面说进入容器修改默认端口号

1、进入容器
docker exec -it mysql-test bash
2、修改 /etc/mysql/my.cnf ,有以下两种方法
① 首先测试你的容器有没有 vim 或 vi 命令

不推荐,容器支持vim/vi则快,否则安装软件比较慢
在这里插入图片描述
安装 vim 命令 相对麻烦

获取到最新的软件包 

apt-get update
apt-get install vim
或
yum update
yum install vim

然后 vim /etc/my.cnf 修改端口号
在这里插入图片描述

②、先将 my.cnf 复制到宿主机修改,修改完成再复制进容器(推荐
命令说明
mysql-test: 容器名
/etc/mysql/my.cnf:容器中 my.cnf路径
/root:my.cnf在宿主机保存路径

docker cp mysql-test:/etc/mysql/my.cnf /root

在这里插入图片描述
vim my.cnf 进入文件修改或添加端口号
在这里插入图片描述
将文件重新复制进容器内

docker cp /root/my.cnf mysql-test:/etc/mysql/ 
3、重启容器
docker restart mysql-test

链接成功
在这里插入图片描述

4、登录MySQL查看端口号
mysql -u root -p 
show global variables like 'port';

在这里插入图片描述

Logo

更多推荐