方案一覽
本篇博客將介紹如何在Docker容器中打開SSH連接服務(wù),以及如何使用JetBrains Gateway軟件進(jìn)行代碼調(diào)試。
Gateway軟件介紹
JetBrains Gateway是一款緊湊型桌面應(yīng)用,可讓您通過 JetBrains IDE 遠(yuǎn)程工作,甚至無需下載這些IDE。通過在桌面端安裝這款軟件,您可以直接調(diào)試服務(wù)器上的代碼。
啟動(dòng)容器
使用以下命令啟動(dòng)容器,其中 --net host
參數(shù)是為了讓容器使用宿主機(jī)的網(wǎng)絡(luò)。
docker run -it --net host --gpus all kevinchina/deeplearning:cu11.8ubuntu22.04 bash
您也可以指定端口,比如將宿主機(jī)的2024端口映射到容器的22端口:
docker run -it -p 2024:22 --gpus all kevinchina/deeplearning:cu11.8ubuntu22.04 bash
配置apt源
詳細(xì)配置apt源,請(qǐng)參考博客:https://qq742971636.blog.csdn.net/article/details/134291339
對(duì)于Ubuntu 22.04,配置文件如下:
vim /etc/apt/sources.list
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服務(wù)器
在容器內(nèi)運(yùn)行以下命令來安裝SSH服務(wù)器,確保已經(jīng)安裝了openssh-server:
apt-get update
apt-get install -y openssh-server
配置SSH服務(wù)器
編輯SSH服務(wù)器配置文件 /etc/ssh/sshd_config
,確保以下行被設(shè)置為合適的值:
Port 2024 # 根據(jù)需求設(shè)置,容器Linux開啟SSH服務(wù)的默認(rèn)端口是22
PermitRootLogin yes # 允許root用戶登錄(可選,根據(jù)需要設(shè)置)
PasswordAuthentication yes # 允許密碼身份驗(yàn)證
生成SSH密鑰
如果還沒有SSH密鑰對(duì),可以生成一個(gè):
ssh-keygen -t rsa -b 2048
啟動(dòng)SSH服務(wù)
啟動(dòng)SSH服務(wù):
service ssh start
或者,如果容器中使用systemd
,使用以下命令:
systemctl start ssh
為root創(chuàng)建密碼
為root創(chuàng)建密碼,例如設(shè)為 nihao123
:
passwd root
nihao123
連接到容器
現(xiàn)在,可以使用SSH連接到Docker容器。在另一臺(tái)服務(wù)器上執(zhí)行以下命令:
ssh -p 2024 user@your_docker_host_ip
也可以直接使用root登錄:
ssh -p 2024 root@10.20.31.31
請(qǐng)注意,出于安全考慮,建議使用SSH密鑰進(jìn)行身份驗(yàn)證,并將 PasswordAuthentication
設(shè)置為 no
。確保防火墻允許通過所選的SSH端口的流量。文章來源:http://www.zghlxwxcb.cn/news/detail-824145.html
使用Gateway
這個(gè)就比較輕松了,別的服務(wù)器都可以ssh連接到容器里面了,此時(shí),Gateway或者其他ssh工具就當(dāng)然也是可以直接用ssh連接到容器中去。文章來源地址http://www.zghlxwxcb.cn/news/detail-824145.html
到了這里,關(guān)于【Python編程工具】【ssh連接Docker容器】如何使用Docker容器里的python環(huán)境,如何調(diào)試在容器中的代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!