mysql - Docker,运行带端口转发的mysql容器一启动就立即停止

标签 mysql docker

我在启动 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 语句向前移动,现在效果很好。

$ 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/

相关文章:

PHP 提交输入 Foreach() ID

docker - 使用 Docker 时如何在 Traefik 中使用 STS header

python - scipy的构建轮(setup.py):状态为 'error'

bash - 英镑符号 (£) 在 docker 容器内的 Bash shell 中产生新行

django - 在 Windows 上为 django 构建 docker 镜像时出现 gcc 错误

mysql - 连接表时显示多个值

mysql innodb inner join with longtext 很慢

php - mysql 导入 45MB sql 需要很长时间

php - 如何在mysql中将字符串保存为十进制?

docker - 如何在docker volume ls --format中打印嵌套的字典成员值