docker hub 下載centos配置ssh遠端登陸

Start Habit Bind發表於2018-11-12

特別說明

本文用的是linux作業系統,所有環境均為linux環境。
本文是直接進入容器安裝配置ssh遠端登陸,然後通過配置好的容器生成新的映象。不是使用Dockerfile的方式,請知曉。

先決條件

物理機安裝Docker
物理機可以訪問網際網路
註冊docker hub賬號

下載映象

從docker hub上下載centos映象。

docker pull centos

不加版本會下載最新的即為centos:latest,下載特定版本自己指定例如 docker pull centos:6。

安裝配置

進入容器

執行如下進入容器,之後本章節命令操作在容器的互動視窗執行,而非物理機。

docker run --network host --name test -i -t centos:latest /bin/bash

–network host 直接使用物理機的網路
–name 是給容器起個名叫test,之後生成映象是要用到
-i 啟動互式
-t 進入終端
centos:latest 映象名
/bin/bash 執行 /bin/bash指令碼啟動一個bash shell

安裝配置openssh-server

在容器互動視窗執行,這部如果報錯,應該是物理機網路有問題,請確認你的物理機能夠yum 下載。

 yum -y install openssh-server

下載後分別執行,互動時直接空格即可

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key  

啟動sshd無報錯即可

/usr/sbin/sshd -D

自己設定個密碼

passwd

生成映象並驗證

本章節的命令操作在物理機而非容器互動視窗。

生成ssh映象

重新開個linux終端,在物理機(注意這條命令是在物理機上執行,不是在容器的互動視窗)上執行如下命令基於容器生成映象。執行完執行docker images檢視是否有新的映象,確認完可以到上章節容器視窗執行exit退出和容器互動。

docker commit test shihb/centos_ssh:7.5

test為上面我們命名的容器名
shihb/centos_ssh:7.5 新的映象名,自己取

啟動ssh容器

基於新的映象啟動容器,啟動完可以docker ps 檢視

docker run -d  --rm -p 10000:22 shihb/centos_ssh:7.5 /usr/sbin/sshd -D

-d 後臺啟動
–rm 退出時自動刪除容器
shihb/centos_ssh:7.5 自己取的新的映象名
-p 埠對映 這樣我們訪問物理機的10000埠就可以訪問容器

驗證

ssh 到容器,可以在容器中執行命令具體如圖,至此容器ssh遠端登陸配置完成。

 ssh  root@wpc6 -p 10000

wpc6 為我的主機名
-p 為對映的埠10000即為容器的22埠

在這裡插入圖片描述

相關文章