在docker 容器开启ssh , 并映射22端口到物理载体机上以使外网访问

1.  运行某镜像以启动容器

docker run -it -p 127.0.0.1:5000:22  c7fe6d9267f8 /bin/bash

-p 为指定端口, 127.0.0.1 为映射到的物理载体机的IP, 5000 为物理载体机的IP,   22 为容器的端口。

上面的命令运行容器后,将容器的22端口映射到物理实体机的   127.0.0.1:5000 上。

 

 

 

如果物理机有多个网卡,多个网段的话,指定物理机的IP可能比较麻烦,可以使用下面命令:

docker run -it -p  5000:22  c7fe6d9267f8 /bin/bash

5000 为物理机的ip端口,这里不限定物理机的那个IP地址。

22  为容器的端口。

 

 

 

 

 

 

2.  启动容器后,更新源

apt-get update

 

 

 

 

 

 

 

3.  在容器上安装并配置ssh 服务

进入容器后,ssh登录 物理载体机,报错

 

 

说明,ssh服务没有完全安装或启动。

 

 

 

安装 ssh server :

apt-get install openssh-server

 

 

 

发现已经安装,需要启动服务。

 

 

 

 

 

启动容器的ssh服务:

启动sshd:

/usr/sbin/sshd -D &

然后更改密码:

passwd

 

 

 

 

 

 

 

物理机上 ssh  登入容器,成功。

ssh -p 5000 root@192.168.11.206

 

 

 

 

 

 

 

 

4.    编写  sshd 启动脚本,以便以后使用。

vim /sshd.sh
#!/bin/bash
/usr/sbin/sshd -D &

 

chmod 755 /sshd.sh
 
 
 

 

 

 

 

 

 

 

 

把此时的容器保存回镜像后可以:

这样的话,如果将该容器保存回镜像后,用命令:

docker run -it -p  5000:22  9e808f1164ab /bin/bash

运行容器的话,进入容器后 执行  /sshd.sh  文件就可以开启sshd 服务。

 

也可以直接运行:

 

 

 

-------------------------------------------------

 

将容器保存为镜像:

sudo docker commit 914ce23e23d5  new_pytorch:v0

 

 

 

 

查看现有仓库  镜像,  新生成的镜像可见,成功生成:

 

 

 

进入容器后,手动启动sshd服务。

 

 

 

 

---------------------------------------------------------------

 

 需注意的是:

如果使用命令

docker run -it -p 5000:22 new_pytorch:v0 /sshd.sh

来运行容器的话,要求镜像中的  /sshd.sh 文件内容为:

 

#!/bin/bash
/usr/sbin/sshd -D 

 

如果是:

#!/bin/bash
/usr/sbin/sshd -D &

那么容器会直接把sshd服务挂到后台,然后容器退出运行状态,从而终止掉。

 

 

 

 

 

 

 ----------------------------------------------------

 

 

 

参考:

https://www.cnblogs.com/ruanqj/p/7374544.html

 

 

 

 

 

如果配置  ssh 报错,参照:

 

 

posted on   Angry_Panda  阅读(10022)  评论(5编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示