【问题标题】:Docker: Connect via SSH to Remote MySQL serverDocker:通过 SSH 连接到远程 MySQL 服务器
【发布时间】:2023-03-08 21:11:01
【问题描述】:

我将 Docker 用于我的 Gitlab CI,但需要使用 SSH 连接到远程 MySQL 服务器,然后将端口 3306 映射到 127.0.0.1

我用下面的命令做SSH端口转发ssh -L 3306:127.0.0.1:3306 user@remoteserver

我尝试在 Docker 中查看 SSH 密钥,但似乎无法将“ls”“ls”到我认为存储它们的根/.ssh 文件夹中,但当我收到此错误时似乎什么也没发生:@ 987654322@

我有一个公钥,我想在运行 Docker 的计算机上使用它。我应该把这个文件的内容复制到哪里?

对此的任何帮助都会很棒,我目前正在使用 dockerfile 进行测试,而不是在 Gitlab 上触发新管道,如果这有什么不同的话。

【问题讨论】:

  • 你的工作目录是什么?如果不是/,请尝试cd /root/.ssh
  • 我不太确定......我仍在学习如何重新运行图像现在我似乎已经用它们填满了我的 Mac
  • 当我运行docker build mydockerfile 时,“ls”命令显示了最外层。你是说那个工作目录还是我 Mac 的工作目录?这都是非常新的

标签: mysql docker ssh gitlab-ci


【解决方案1】:

你可以像这样使用 docker run 命令映射你的端口:

docker run -itd --name mysql -p 3306:3306 mysql

然后当您的容器运行时执行docker cp /path/to/your/public_key /path/where/you/want/to/drop/your_key,之后您可以执行docker exec -it mysql bash 并将您的公钥添加到您的授权密钥中。

在尝试使用 Docker 进行高级操作之前,您应该尝试一些教程...

【讨论】:

    猜你喜欢
    • 2019-09-15
    • 2016-11-18
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    • 2019-03-30
    • 2010-12-24
    • 1970-01-01
    相关资源
    最近更新 更多