ssh 直接登錄docker容器的操作方法(不用通過宿主機進入)
若我們想直接通過ssh鏈接docker容器,而不是通過宿主機進入。
1.啟動docker,進入docker容器:
docker exec -it 42d099e3fdca /bin/bash (42d099e3fdca是CONTAINER ID)
2.進入docker后,使用passwd密碼來修改密碼(如提示沒有這個命令行使用yum install passwd安裝):
passwd
xxx密碼
xxx確認密碼3.安裝Openssh(docker 容器中執(zhí)行):
yum -y install openssh-server yum -y install openssh-clients
修改SSH配置文件以下選項,去掉#注釋,將四個選項啟用:
vim /etc/ssh/sshd_config
RSAAuthentication yes #啟用 RSA 認證 PubkeyAuthentication yes #啟用公鑰私鑰配對認證方式 AuthorizedKeysFile .ssh/authorized_keys #公鑰文件路徑(和上面生成的文件同) PermitRootLogin yes #root能使用ssh登錄
重啟ssh服務,并設置開機啟動,可能報錯,可后面進入從鏡像啟動的新容器進行運行:
service sshd restart chkconfig sshd on
4.退出容器并保存更改:
使用exit命令退出當前運行的容器,退出后用于保存的唯一ID,也可不用退出,但不進行操作,直接在另一個終端運行以下commit:
exit
現(xiàn)在我們的容器已經(jīng)被我們改變了,使用 docker commit 命令,將當前的容器生成鏡像:
docker commit ffe81683c404 centos6-jdk7:ssh
ffe81683c404: 創(chuàng)建鏡像的容器的ID,就是上面的容器id,也就是我們剛才進入的容器id
centos6-jdk7:ssh: 目標鏡像的倉庫名和 tag 信息,冒號前面部分是生成的鏡像的倉庫名字,冒號后面是鏡像tag
創(chuàng)建成功后會返回這個鏡像的 ID 信息,查看鏡像:
docker images
5.啟動新的容器并打通22端口:
將新的鏡像啟動,并將docker服務器的2222端口映射到容器的22端口上,進入容器啟用映射端口:
docker run -it -p 2222:22 --net host -v $PWD:/home --name my_container 鏡像ID bash /usr/sbin/sshd -p 2222
my_container:創(chuàng)建的新容器名
鏡像ID:前文報錯的鏡像ID
6、然后用ssh 直接登錄docker容器(可以xshell):
ssh root@ip -p 2222 #密碼為前文設置的密碼
ip: 為宿主主機的ip,而不是docker容器的ip
端口:就是上面的2222
用戶名: root
密碼: 就是上面password部分設置的密碼
7.關掉該容器:
在宿主機通過 docker stop 容器id 即可關閉
啟動容器 docker start 容器id
啟動后,就可以用xshell進行連接。
其它:
1. 進入容器執(zhí)行/usr/sbin/sshd -p 2222,啟動一個端口
2. 容器間可通過該端口ssh登錄,ssh ip -p 12345
3. 如果需要免密,docker run容器時,docker -v /root/.ssh 掛載.ssh目錄
4. 容器間mpirun執(zhí)行,mpirun -np .... --hostfile hosts -mca plm_rsh_args "-p 12345" ./exe
參考文章:ssh 直接登錄docker容器 (SSH連接docker容器)
到此這篇關于ssh 直接登錄docker容器的操作方法(不用通過宿主機進入)的文章就介紹到這了,更多相關ssh登錄docker容器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Linux下定時自動備份Docker中所有SqlServer數(shù)據(jù)庫的腳本
這篇文章主要介紹了Linux下定時自動備份Docker中所有SqlServer數(shù)據(jù)庫?,編寫shell文件給出一個備份的范例,在Linux添加定時任務,通過下列命令來檢測并安裝這個服務,需要的朋友可以參考下2022-09-09
在docker容器中使用非root用戶執(zhí)行腳本操作
這篇文章主要介紹了在docker容器中使用非root用戶執(zhí)行腳本操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
Windows環(huán)境GeoServer打包Docker的方法實現(xiàn)
本文介紹了在Windows環(huán)境下將GeoServer打包為Docker鏡像,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-12-12

