Docker-SSH連接docker容器

安裝Docker

本來(lái)打算在CentOS6上安裝Docker,最終由于CentOS6上自帶的kernel版本太低導(dǎo)致Docker啟動(dòng)失敗而放棄(kernel升級(jí)太繁瑣)。

下面使用CentOS7安裝Docker,本人采用虛擬機(jī)的方式來(lái)安裝段化,安裝好的虛擬機(jī)必須保證能訪(fǎng)問(wèn)外網(wǎng)。

CentOS7 系統(tǒng) CentOS-Extras 庫(kù)中已帶 Docker,可以直接安裝:

$ sudo yum install docker

安裝之后啟動(dòng) Docker 服務(wù)隔躲,并讓它隨系統(tǒng)啟動(dòng)自動(dòng)加載:

$ sudo service docker start
$ sudo chkconfig docker on

獲取鏡像

可以使用 docker pull 命令來(lái)從倉(cāng)庫(kù)獲取所需要的鏡像。
下面的例子將從 Docker Hub 倉(cāng)庫(kù)下載一個(gè)Centos6并且安裝了jdk7的鏡像:

$ docker pull tcbenkhard/centos6-jdk7

列出本地鏡像

使用 docker images 顯示本地已有的鏡像物延。

$ docker images

啟動(dòng)容器

啟動(dòng)容器有兩種方式宣旱,一種是基于鏡像新建一個(gè)容器并啟動(dòng),另外一個(gè)是將在終止?fàn)顟B(tài)(stopped)的容器重新啟動(dòng)叛薯。

因?yàn)?Docker 的容器實(shí)在太輕量級(jí)了浑吟,很多時(shí)候用戶(hù)都是隨時(shí)刪除和新創(chuàng)建容器。
下面的命令則啟動(dòng)一個(gè) bash 終端耗溜,允許用戶(hù)進(jìn)行交互组力。

$ docker run -t -i centos6-jdk7 /bin/bash
[root@f8513ec39154 /]#

其中,-t 選項(xiàng)讓Docker分配一個(gè)偽終端(pseudo-tty)并綁定到容器的標(biāo)準(zhǔn)輸入上抖拴,-i 則讓容器的標(biāo)準(zhǔn)輸入保持打開(kāi)燎字。

當(dāng)利用 docker run 來(lái)創(chuàng)建容器時(shí)腥椒,Docker 在后臺(tái)運(yùn)行的標(biāo)準(zhǔn)操作包括:
(1)檢查本地是否存在指定的鏡像,不存在就從公有倉(cāng)庫(kù)下載
(2)利用鏡像創(chuàng)建并啟動(dòng)一個(gè)容器
(3)分配一個(gè)文件系統(tǒng)候衍,并在只讀的鏡像層外面掛載一層可讀寫(xiě)層
(4)從宿主主機(jī)配置的網(wǎng)橋接口中橋接一個(gè)虛擬接口到容器中去
(5)從地址池配置一個(gè) ip 地址給容器
(6)執(zhí)行用戶(hù)指定的應(yīng)用程序
(7)執(zhí)行完畢后容器被終止

可以使用下面命令來(lái)查看CentOS版本信息:

$ cat /etc/redhat-release

修改root密碼

使用passwd密碼來(lái)修改密碼(如提示沒(méi)有這個(gè)命令行使用yum install passwd安裝):

$ passwd
    xxx密碼
    xxx確認(rèn)密碼

安裝Openssh

使用下面命令安裝ssh server/ssh client:

$ sudo yum -y install openssh-server
$ sudo yum -y install openssh-clients

修改SSH配置文件以下選項(xiàng)笼蛛,去掉#注釋?zhuān)瑢⑺膫€(gè)選項(xiàng)啟用:

$ vi /etc/ssh/sshd_config

RSAAuthentication yes #啟用 RSA 認(rèn)證
PubkeyAuthentication yes #啟用公鑰私鑰配對(duì)認(rèn)證方式
AuthorizedKeysFile .ssh/authorized_keys #公鑰文件路徑(和上面生成的文件同)
PermitRootLogin yes #root能使用ssh登錄

重啟ssh服務(wù),并設(shè)置開(kāi)機(jī)啟動(dòng):

$ service sshd restart
$ chkconfig sshd on

退出容器并保存更改

使用exit命令或者ctrl+C來(lái)退出當(dāng)前運(yùn)行的容器:

[root@f8513ec39154 /]# exit

注意:上面f8513ec39154是容器的ID蛉鹿,退出后用于保存的唯一ID滨砍。

當(dāng)結(jié)束后,我們使用 exit 來(lái)退出妖异,現(xiàn)在我們的容器已經(jīng)被我們改變了惋戏,使用 docker commit 命令來(lái)提交更新后的副本。

$ sudo docker commit -m 'install openssh' -a 'Docker Newbee' f8513ec39154  centos6-jdk7:ssh

其中他膳,-m 來(lái)指定提交的說(shuō)明信息响逢,跟我們使用的版本控制工具一樣;-a 可以指定更新的用戶(hù)信息棕孙;之后是用來(lái)創(chuàng)建鏡像的容器的ID舔亭;最后指定目標(biāo)鏡像的倉(cāng)庫(kù)名和 tag 信息。創(chuàng)建成功后會(huì)返回這個(gè)鏡像的 ID 信息散罕。

提交后docker中就會(huì)多出一個(gè)centos6-jdk7:ssh的一個(gè)鏡像分歇。

啟動(dòng)新的容器并打通22端口

將新的鏡像啟動(dòng),并將docker服務(wù)器的50001端口映射到容器的22端口上:

$ docker run -d -p 50001:22 centos6-jdk7:ssh /usr/sbin/sshd -D

SSH連接容器:


至此SSH連接docker容器成功完成E肥V奥铡!

補(bǔ)充說(shuō)明

多個(gè)docker鏡像之間是相互獨(dú)立的

# 進(jìn)入docker(exit退出后需要重新啟動(dòng)误甚,修改后需要commit)
$ docker attach Name/ID
$ docker start Name/ID
$ docker commit ID new_image_name

# 進(jìn)入docker(exit退出后不需要重新啟動(dòng)缚甩,修改后不需要commit)
$ docker exec -it Name/ID /bin/bash
# 修改鏡像NAME
$ docker rename Name/ID 新名
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市窑邦,隨后出現(xiàn)的幾起案子擅威,更是在濱河造成了極大的恐慌,老刑警劉巖冈钦,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件郊丛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡瞧筛,警方通過(guò)查閱死者的電腦和手機(jī)厉熟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)较幌,“玉大人揍瑟,你說(shuō)我怎么就攤上這事≌” “怎么了绢片?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵滤馍,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我底循,道長(zhǎng)巢株,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任此叠,我火速辦了婚禮纯续,結(jié)果婚禮上随珠,老公的妹妹穿的比我還像新娘灭袁。我一直安慰自己,他們只是感情好窗看,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布茸歧。 她就那樣靜靜地躺著,像睡著了一般显沈。 火紅的嫁衣襯著肌膚如雪软瞎。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天拉讯,我揣著相機(jī)與錄音涤浇,去河邊找鬼。 笑死魔慷,一個(gè)胖子當(dāng)著我的面吹牛只锭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播院尔,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蜻展,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了邀摆?” 一聲冷哼從身側(cè)響起纵顾,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎栋盹,沒(méi)想到半個(gè)月后施逾,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡例获,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年汉额,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片躏敢。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡闷愤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出件余,到底是詐尸還是另有隱情讥脐,我是刑警寧澤遭居,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站旬渠,受9級(jí)特大地震影響俱萍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜告丢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一枪蘑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧岖免,春花似錦岳颇、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至闯参,卻和暖如春瞻鹏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鹿寨。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工新博, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人脚草。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓赫悄,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親玩讳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子涩蜘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • Docker — 云時(shí)代的程序分發(fā)方式 要說(shuō)最近一年云計(jì)算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,508評(píng)論 15 147
  • 0x01 核心概念 Docker鏡像類(lèi)似于虛擬機(jī)鏡像熏纯,可以理解為一個(gè)面向Docker引擎的只讀模板同诫,包含了文件系統(tǒng)...
    閑云逸心閱讀 4,695評(píng)論 0 9
  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一、Docker 簡(jiǎn)介 Docke...
    極客圈閱讀 10,473評(píng)論 0 120
  • 0. 前言 docker是什么樟澜?docker是用GO語(yǔ)言開(kāi)發(fā)的應(yīng)用容器引擎误窖,基于容器化,沙箱機(jī)制的應(yīng)用部署技術(shù)秩贰∨常可...
    sessionboy閱讀 3,840評(píng)論 2 49
  • 西塞山前白鷺飛(六) 六 如花在家捯飭了一下午,為了和肖琴父母見(jiàn)面毒费,她不得不注意形象丙唧,洗了個(gè)澡,去掉身上的胭脂香粉...
    六月孺子牛閱讀 507評(píng)論 2 4