【问题标题】:How to run mysql command in app docker container?如何在 app docker 容器中运行 mysql 命令?
【发布时间】:2021-05-05 05:59:53
【问题描述】:

我使用 docker compose 来运行两个实例

  • 节点后端应用容器 (node_app)
  • Mysql 容器 (mysql_db)

如何连接到 mysql_db 并运行命令

mysql -uroot -p

直接来自 node_app


如果没有正确的配置,如果我在 node_app 容器中运行它,我会看到错误 mysql: not found

我想知道是否可以从 node_app 尝试 SSH,然后 SSH 到 mysql_db 并运行 mysql 命令。但听起来很复杂。

【问题讨论】:

  • Docker 文档中的 Networking in Compose 描述了网络环境;您应该能够使用数据库容器的 Compose 服务名称作为主机名来连接它。

标签: docker docker-networking


【解决方案1】:

您需要将mysql 工具安装到您的 node_app 容器中,例如安装到您的 Dockerfile 中:

...
RUN apt install mysql-client

如果您只想从 cli 访问数据库,您可以使用以下命令从主机(启动 docker-compose 命令的位置)执行mysqldocker exec -it mysql_db mysql

【讨论】:

  • 您好,我想从 node_app 访问 db,而不是从主机访问。
  • 所以你的容器中必须有mysql-client。
猜你喜欢
  • 1970-01-01
  • 2020-05-21
  • 1970-01-01
  • 2021-07-10
  • 1970-01-01
  • 2019-03-08
  • 2020-06-24
  • 1970-01-01
  • 2019-05-05
相关资源
最近更新 更多