2024-09-01
Docker
00

目录

方案一览
Gateway软件介绍
启动容器
配置apt源
在容器中安装SSH服务器
配置SSH服务器
生成SSH密钥
启动SSH服务
为root创建密码
连接到容器
使用Gateway

方案一览

本篇博客将介绍如何在Docker容器中打开SSH连接服务,以及如何使用JetBrains Gateway软件进行代码调试。

Gateway软件介绍

JetBrains Gateway是一款紧凑型桌面应用,可让您通过 JetBrains IDE 远程工作,甚至无需下载这些IDE。通过在桌面端安装这款软件,您可以直接调试服务器上的代码。

JetBrains Gateway

启动容器

使用以下命令启动容器,其中 --net host 参数是为了让容器使用宿主机的网络。

bash
docker run -it --net host --gpus all kevinchina/deeplearning:cu11.8ubuntu22.04 bash

您也可以指定端口,比如将宿主机的2024端口映射到容器的22端口:

bash
docker run -it -p 2024:22 --gpus all kevinchina/deeplearning:cu11.8ubuntu22.04 bash

配置apt源

详细配置apt源,请参考博客:https://qq742971636.blog.csdn.net/article/details/134291339

对于Ubuntu 22.04,配置文件如下:

bash
vim /etc/apt/sources.list
bash
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse ## Pre-released source, not recommended. # deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse

在容器中安装SSH服务器

在容器内运行以下命令来安装SSH服务器,确保已经安装了openssh-server:

bash
apt-get update apt-get install -y openssh-server

配置SSH服务器

编辑SSH服务器配置文件 /etc/ssh/sshd_config,确保以下行被设置为合适的值:

bash
Port 2024 # 根据需求设置,容器Linux开启SSH服务的默认端口是22 PermitRootLogin yes # 允许root用户登录(可选,根据需要设置) PasswordAuthentication yes # 允许密码身份验证

生成SSH密钥

如果还没有SSH密钥对,可以生成一个:

bash
ssh-keygen -t rsa -b 2048

启动SSH服务

启动SSH服务:

bash
service ssh start

或者,如果容器中使用systemd,使用以下命令:

bash
systemctl start ssh

为root创建密码

为root创建密码,例如设为 nihao123

bash
passwd root nihao123

连接到容器

现在,可以使用SSH连接到Docker容器。在另一台服务器上执行以下命令:

bash
ssh -p 2024 user@your_docker_host_ip

也可以直接使用root登录:

bash
ssh -p 2024 [email protected]

请注意,出于安全考虑,建议使用SSH密钥进行身份验证,并将 PasswordAuthentication 设置为 no。确保防火墙允许通过所选的SSH端口的流量。

使用Gateway

这个就比较轻松了,别的服务器都可以ssh连接到容器里面了,此时,Gateway或者其他ssh工具就当然也是可以直接用ssh连接到容器中去。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!