docker中关于端口绑定的问题
程序员文章站
2022-05-11 12:05:54
...
在使用docker run 启动容器的时候往往想更换绑定端口,例如我想利用mysql的镜像启动两个mysql容器,然后一个用默认的3306端口,一个想用3307端口区分,当使用3306端口启动容器时,外部可以通过3306连接上mysql,但是3307端口创建第二个容器时,却连不上,xiam下面贴出我的错误启动方式:
[[email protected] data]# docker run -p 3307:3307 --name mymysql1 -v /data/mysql1/conf.d:/etc/mysql/conf.d -v /data/mysql1/data:/var/lib/mysql -v /data/mysql1/mysql.conf.d:/etc/mysql/mysql.conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
注意到“3307:3307”,意思是服务器的3307端口映射到mysql容器的3307端口,因为mysql内部容器默认使用的其实还是3306端口,所以这样写外部是肯定连接不上mysql容器的,因为3307端口对于容器来说根本不是mysql端口
下面给出正确的命令
[[email protected] data]# docker run -p 3307:3306 --name mymysql1 -v /data/mysql1/conf.d:/etc/mysql/conf.d -v /data/mysql1/data:/var/lib/mysql -v /data/mysql1/mysql.conf.d:/etc/mysql/mysql.conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
将服务器的3307端口映射到容器3306端口,这样外面就可以通过3307端口连接了
上一篇: Linux centos7 mysql密码忘记的处理方法
下一篇: css 优先级顺序