docker mysql在不同的端口上

时间:2017-01-13 14:37:44

标签: mysql docker

我想更改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 Warning: Using a password on the command line interface can be insecure. 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 Warning: Using a password on the command line interface can be insecure. ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

1 个答案:

答案 0 :(得分:13)

您需要在(服务器的)首选TCP端口上映射容器端口3306:

-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