以下命令默認(rèn)已經(jīng)構(gòu)建了一個 Docker Image。?
# 在服務(wù)器上啟動 docker (-p 端口映射,用于后續(xù)的 ssh 連接)
docker run -itd -v /mnt/mount/:/home -p 8124:22 --name container-name --gpus all image-name
# 進(jìn)入容器中
docker exec -it container-name /bin/bash
# 設(shè)置密碼,后續(xù)登陸使用,比如 admin
passwd
# 查看 ssh 狀態(tài)(出現(xiàn) ssh: unrecognized service 表示 ssh 未安裝)
service ssh status
# 安裝 ssh
apt-get update
apt-get install openssh-server
# 啟動 ssh (出現(xiàn) * Starting OpenBSD Secure Shell server sshd 表示啟動成功)
service ssh start
# 打開 ssh 配置文件進(jìn)行修改,并重啟
vi /etc/ssh/sshd_config
```
# 修改 PermitRootLogin 和 UsePAM
#PermitRootLogin prohibit-password
PermitRootLogin yes
# UsePAM yes
UsePAM no
```
service ssh restart
# 在服務(wù)器上進(jìn)行連接測試,輸入上面設(shè)置的密碼 admin,登陸成功則沒問題
ssh root@127.0.0.1 -p 8124
# vscode 登陸此容器只需要把上面的 127.0.0.1 換成服務(wù)器 ip 即可
上述的步驟主要是在服務(wù)器上啟動了一個docker容器,并在容器內(nèi)安裝和配置了ssh服務(wù)。以下是對于這些步驟的詳細(xì)解釋:
首先,使用?docker run
?命令在服務(wù)器上啟動了一個名為?container-name
?的容器。這里使用了?-v /mnt/mount/:/home
?參數(shù)將服務(wù)器上的?/mnt/mount/
?目錄映射到容器的?/home
?目錄。另外,-p 8124:22
?參數(shù)表示將容器的22端口(ssh默認(rèn)端口)映射到服務(wù)器的8124端口,這樣后續(xù)可以通過ssh協(xié)議連接到容器。--name container-name --gpus all
?參數(shù)為容器指定了一個名字和GPU的使用權(quán)限。最后的?image-name
?是要運行的docker鏡像名稱。
接著,使用?docker exec -it container-name /bin/bash
?命令進(jìn)入了容器的交互式shell。在此命令中,-it
?參數(shù)表示保持交互,并分配一個偽終端。/bin/bash
?是要執(zhí)行的shell命令,即啟動bash shell。
在容器內(nèi),使用?passwd
?命令設(shè)置了密碼,這個密碼將用于后續(xù)的ssh登陸。
為了確認(rèn)ssh是否已經(jīng)在容器內(nèi)安裝,使用?service ssh status
?命令檢查ssh服務(wù)的狀態(tài)。如果未安裝ssh服務(wù),將會出現(xiàn)?unrecognized service
?的提示。
如果ssh未安裝,則使用?apt-get update
?和?apt-get install openssh-server
?命令來安裝ssh服務(wù)。
安裝完成后,使用?service ssh start
?命令啟動ssh服務(wù)。如果一切正常,將會看到?Starting OpenBSD Secure Shell server sshd
?的提示,表示ssh服務(wù)已經(jīng)成功啟動。
為了修改ssh的配置,首先使用?vi /etc/ssh/sshd_config
?命令打開配置文件。在配置文件中,修改了?PermitRootLogin
?和?UsePAM
?的設(shè)置。PermitRootLogin yes
?表示允許root用戶登錄,而?UsePAM no
?則表示不使用Pluggable Authentication Modules。修改后,使用?service ssh restart
?命令重啟ssh服務(wù)以應(yīng)用新的配置。
最后,為了測試ssh連接是否正常,使用?ssh root@127.0.0.1 -p 8124
?命令嘗試連接到容器。在輸入密碼后,如果能正常登陸,就表示ssh連接沒有問題。對于VSCode的遠(yuǎn)程連接也是同樣的方式,只需要將上述命令中的?127.0.0.1
?換成服務(wù)器的實際IP地址即可連接到VSCode。文章來源:http://www.zghlxwxcb.cn/news/detail-737698.html
以上就是在服務(wù)器上啟動docker容器,并在容器內(nèi)安裝和配置ssh服務(wù)的全過程。文章來源地址http://www.zghlxwxcb.cn/news/detail-737698.html
- Docker 其他啟動方式
# 與主機共享網(wǎng)絡(luò)
docker run -itd --network host --rm -v /mnt/:/mnt/ --gpus all --name torch -w /root nvcr.io/nvidia/pytorch:22.12-py3
# 多端口映射
docker run -itd --rm -v /mnt/:/mnt/ -p 8125:22 -p 9000-9010:9000-9010 --gpus all --name torch2 -w /root nvcr.io/nvidia/pytorch:22.12-py3
到了這里,關(guān)于【VS Code】使用 VS Code 登陸遠(yuǎn)程服務(wù)器上的 Docker 容器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!