如何SSH进入Docker容器

2024年 5月 4日 80.8k 0

管理员通常使用SSH访问和操作远程服务器和设备,包括Docker容器。当您使用SSH连接到任何设备时,您可以运行命令、访问其文件以及执行多个其他任务。您还可以将Docker容器用作可以运行应用程序的系统管理程序映像。例如,软件开发人员可以创建Docker容器映像来打包软件。

因此,Docker容器映像包软件具有所需的所有依赖项和库。您可以通过SSH访问Docker容器来远程开发应用程序或运行虚拟Linux机器。因此,在本指南中,我们将解释如何在Docker容器中创建SSH。

如何SSH进入Docker容器

在我们开始之前,您必须在这里创建一个Docker容器,并使用密码验证对其进行配置。因此,运行以下命令来创建Docker文件:

触摸dockerfile

现在,运行nano编辑器并输入以下详细信息以设置Docker容器:

自ubuntu:22.04

运行apt-get-update&&apt-get-install-y-openssh服务器

RUN mkdir/var/RUN/shd

RUN echo'root:12345'|chpasswd

RUN sed-i的/#PermitRootLogin禁止密码/PermitRootLogin-yes/'/etc/ssh/sshd_config

暴露22

CMD[“/usr/sbin/sshd”,“-D”]

ENTRYPOINT服务ssh启动&&bash

在以上详细信息中,请将用户名更改为“root”,将密码更改为12345。保存文件后,运行以下命令来创建容器的Docker镜像:

docker构建-t my_ssh。

您现在已经准备好Docker容器,因此请通过以下命令启动它:

docker run-d--name container_name container_image

请将container_name和container_image分别替换为Docker的名称和图像。接下来,您将要求将此Docker容器的IP地址用作SSH命令中的参数。通过运行以下docker inspect命令获取它:

docker inspect-f“{{range.NetworkSettings.Networks}}{{.IPAddress}}{{端}}”容器名称

在上面的命令中,除了container_name之外,您不需要更改任何其他内容,container_name必须是Docker的名称。运行时,这将显示Docker容器的IP地址,您必须复制该地址并在SSH命令中使用。

您必须在此Docker容器中安装并启用SSH实用程序才能通过SSH连接到它。例如,在基于Ubuntu的Docker容器的情况下,您可以通过运行:

sudo apt更新

sudo apt安装openssh服务器-y

sudosystemctl启用openssh服务器

最后,使用SSH keygen生成一个SSH密钥(如果您还没有),复制这个密钥的路径,并使用SSH命令将SSH连接到Docker中。

sudo ssh-i/path/to/ssh_keyremote_user@docker_IP

在这里,“-i”选项允许您指定密钥文件的路径。您必须将/path/to/SSH_key替换为生成的密钥的路径,remote_user替换为Docker中的用户名,Docker_IP替换为您在前面步骤中获取的IP地址。

运行上述命令时,将成功建立到指定Docker容器的SSH连接。现在,您可以使用shell与其系统进行交互。

快速概述

Docker容器是开发各种应用程序的团队的优秀资产。本教程包括在Docker容器中逐步演示SSH。您可以使用上述方法来熟练地远程操作Docker并与之交互。此外,我们建议更改SSH密钥的文件权限,以确保Docker免受任何意外的第三方干扰。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论