当前位置: 首页 > 知识库问答 >
问题:

mariadb的官方docker映像-如何添加ssh服务

况谦
2023-03-14

我想将ssh服务添加到容器中。我可以apt-get install软件包(在apt-get update之后),但我不知道如何启动它。通常(不在此容器中),我们可以通过service ssh start的常规命令启动服务。但我不知道如何在容器中做到这一点而不干扰entrypointcmd机制。

dockerfile附带了一个docker-entrypoint.sh(请参阅此处的源代码),它非常希望有一行用于cmd

CMD ["mysqld"]

我看过一些相关的SO文章,比如这些:

    null

但由于docker文件中的entrypointcmd的相互作用,它们在这里并不直接适用。

共有1个答案

郭修平
2023-03-14

您想要做的不是最佳实践,您应该做的是使用用户定义的docker网络(这里是文档)。

在您的情况下,例如:

1.创建网络

docker network create --driver bridge database_network

2.启动mariadb容器

 docker run --network=database_network -itd --name=mariadb mariadb

3.启动ssh容器

这里我们使用krlmlr/debian-ssh作为示例,可以随意使用任何其他映像

 docker run --network=database_network -itd --name=ssh -p 22:22 -e SSH_KEY="$(cat ~/.ssh/id_rsa.pub)" krlmlr/debian-ssh:wheezy
 类似资料:
  • 问题内容: 我通过运行此命令为Tomcat提取了官方Docker镜像。 通过使用它作为基本映像,我需要构建新映像,该映像在 文件夹中包含我的war文件。我这样创建了Dockerfile。 当我通过构建映像运行此Dockerfile时,无法看到Tomcat主页。 谁能告诉我如何将我的warfile添加到官方Tomcat图像webapp文件夹中。 问题答案: 从仓库的文档中读取内容,您会做类似的事情

  • 问题内容: 我正在使用这个官方的php Docker映像:[https]( https://github.com/docker- library/php/blob/76a1c5ca161f1ed6aafb2c2d26f83ec17360bc68/7.1/alpine/Dockerfile) //github.com/docker- library/php/blob/76a1c5ca161f1ed6

  • 我正在使用Postgres Docker的官方图片来定制它的配置。为此,我使用命令来更改,例如: 我尝试了两种方法来应用此配置。第一种方法是将命令添加到脚本中,并将其复制到init文件夹“/docker entrypoint initdb.d”中。第二种方法是使用“RUN”命令直接在Dockerfile中运行它们(该方法适用于非官方Postgresql映像,该映像具有指向配置文件“/etc/pos

  • 问题内容: 我正在使用官方的Postgres Docker映像 尝试自定义其配置。为此,我使用命令来更改例如: 我尝试了两种方法来应用此配置。第一种是通过将命令添加到脚本并将其复制到init文件夹“ /docker-entrypoint- initdb.d”中。第二种方法是通过使用“ RUN”命令直接在我的Dockerfile中运行它们(此方法在非官方的Postgresql映像(与配置文件“ /

  • 问题内容: 假设我有一个docker映像,并将其部署在某些服务器上。但是我不希望其他用户访问该图像。是否有加密docker映像的好方法? 问题答案: 实际上,不,如果用户有权运行docker守护程序,那么他们将有权访问所有图像-这是由于docker要求更高的权限才能运行。 有关为什么这样做的更多信息,请参阅Docker安全指南的摘录。 Docker守护程序攻击面 使用Docker运行容器(和应用程

  • 问题内容: 我在Ubuntu 14.04的Docker 1.13.1容器中运行ASP.NET Core 1.1 Web API。 当代码尝试从HTTPS服务器检索某些数据时,出现此证书身份验证错误: HTTPS服务器是内部的,具有由公司CA签名的证书,因此请注意,我可能需要注册内部CA。 到目前为止,我已找到有关该错误的所有信息,并且Docker谈到了使Docker本身运行,连接到存储库等。我的D