我想更改mysql图像docker的默认公开端口,但如果我尝试使用此命令
docker run --detach --name=test-mysql -p 52000:52000 --env="MYSQL_ROOT_PASSWORD=mypassword" mysql
Run Code Online (Sandbox Code Playgroud)
不工作,mysql -uroot -pmypassword -h 127.0.0.1 -P 52000警告:在命令行界面上使用密码可能不安全.ERROR 2013(HY000):在"读取初始通信数据包"时丢失与MySQL服务器的连接,系统错误:0
如果我使用标准端口3306:3306工作正常,但我想改变端口,它可能吗?
我已经尝试过-p 52000:3600,但我总是:
mysql -uroot -pmypassword -h 127.0.0.1 -P 52000警告:在命令行界面上使用密码可能不安全.ERROR 2013(HY000):在"读取初始通信数据包"时丢失与MySQL服务器的连接,系统错误:0
ani*_*ion 29
还有第二种选择:
不要将一个端口映射到另一个端口,而是使用MYSQL_TCP_PORT- 变量让 mysql 本身直接在另一个端口上运行。
例子:
docker run --detach --name=test-mysql --env="MYSQL_TCP_PORT=52000" mysql
lvt*_*llo 17
您需要在(服务器的)首选TCP端口上映射容器端口3306:
-p <host_port>:<container_port> (map container_port xx on host_port yy)
Run Code Online (Sandbox Code Playgroud)
所以对你的mysql
docker run --detach --name=test-mysql -p 52000:3306 --env="MYSQL_ROOT_PASSWORD=mypassword" mysql
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24707 次 |
| 最近记录: |