我想更改 mysql docker 容器的默认公开端口,但如果我尝试使用此命令:
docker run --detach --name=test-mysql -p 52000:52000 --env="MYSQL_ROOT_PASSWORD=mypassword" mysql
它不起作用。 mysql -uroot -pmypassword -h 127.0.0.1 -P 52000
警告:在命令行界面上使用密码可能不安全。
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
如果我使用标准端口 3306:3306,那么它可以正常工作,但我想更改端口。可以吗?
我已经尝试过 -p 52000:3600 ,但我总是得到:
mysql -uroot -pmypassword -h 127.0.0.1 -P 52000
警告:在命令行界面上使用密码可能不安全。
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
最佳答案
您需要将容器端口 3306 映射到(您的服务器的)首选 TCP 端口:
-p <host_port>:<container_port> (map container_port xx on host_port yy)
所以对于你的mysql
docker run --detach --name=test-mysql -p 52000:3306 --env="MYSQL_ROOT_PASSWORD=mypassword" mysql
关于mysql - docker mysql 在不同的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41637013/