我在启动 MySQL 容器时遇到问题。
我使用以下命令运行 MySQL 容器:
$ sudo docker run -d --name stockdb -e MYSQL_ROOT_PASSWORD=yang1234 -e MYSQL_DATABASE=stkanalysis mysql:5.7 -p 3307:3306
并使用检查结果
$ sudo docker ps -a
这就是结果。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 34e98ad90f73 mysql:5.7 “docker-entrypoint…” 2 seconds ago Exited (1) 1 second ago stockdb
当我在没有选项 -p 的情况下启动相同的 MySQL 容器时,它运行良好,如下所示:
$ sudo docker run -d --name stockdb -e MYSQL_ROOT_PASSWORD=yang1234 -e MYSQL_DATABASE=stkanalysis mysql:5.7
但是,每当我设置端口转发选项 -p 时,运行容器就会失败(从技术上讲,它一旦运行就会退出)
我希望运行具有端口转发功能的 MySQL 容器,以从外部主机连接其 DBMS。
我使用的是 Ubuntu 16.04,Docker 版本是 17.09.0-ce。
最佳答案
我解决了我的问题。
原因是选项 -p 位于command末尾的位置。
我将选项 -p 语句向前移动,现在效果很好。
block 引用>$ sudo docker run --name stockdb -p 3307:3306 -p 3308:22 -e MYSQL_ROOT_PASSWORD=yang1234 -e MYSQL_DATABASE=stkanalysis mysql:5.7
谢谢。
关于mysql - Docker,运行带端口转发的mysql容器一启动就立即停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47194303/