管理员通常使用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免受任何意外的第三方干扰。