欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么在Docker中利用SSH連接docker容器-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)怎么在Docker中利用SSH連接docker容器,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)建站從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元東湖做網(wǎng)站,已為上家服務(wù),為東湖各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792

什么是Docker

Docker 是一個開源項目,誕生于 2013 年初,最初是 dotCloud 公司內(nèi)部的一個業(yè)余項目。它基于 Google 公司推出的 Go 語言實現(xiàn)。 項目后來加入了 Linux 基金會,遵從了 Apache 2.0 協(xié)議,項目代碼在 GitHub 上進行維護。

Docker 自開源后受到廣泛的關(guān)注和討論,以至于 dotCloud 公司后來都改名為 Docker Inc。Redhat 已經(jīng)在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 產(chǎn)品中廣泛應(yīng)用。

Docker 項目的目標(biāo)是實現(xiàn)輕量級的操作系統(tǒng)虛擬化解決方案。 Docker 的基礎(chǔ)是 Linux 容器(LXC)等技術(shù)。

在 LXC 的基礎(chǔ)上 Docker 進行了進一步的封裝,讓用戶不需要去關(guān)心容器的管理,使得操作更為簡便。用戶操作 Docker 的容器就像操作一個快速輕量級的虛擬機一樣簡單。

下面的圖片比較了 Docker 和傳統(tǒng)虛擬化方式的不同之處,可見容器是在操作系統(tǒng)層面上實現(xiàn)虛擬化,直接復(fù)用本地主機的操作系統(tǒng),而傳統(tǒng)方式則是在硬件層面實現(xiàn)。

怎么在Docker中利用SSH連接docker容器

怎么在Docker中利用SSH連接docker容器

為什么要用Docker

作為一種新興的虛擬化方式,Docker 跟傳統(tǒng)的虛擬化方式相比具有眾多的優(yōu)勢。

首先,Docker 容器的啟動可以在秒級實現(xiàn),這相比傳統(tǒng)的虛擬機方式要快得多。 其次,Docker 對系統(tǒng)資源的利用率很高,一臺主機上可以同時運行數(shù)千個 Docker 容器。

容器除了運行其中應(yīng)用外,基本不消耗額外的系統(tǒng)資源,使得應(yīng)用的性能很高,同時系統(tǒng)的開銷盡量小。傳統(tǒng)虛擬機方式運行 10 個不同的應(yīng)用就要起 10 個虛擬機,而Docker 只需要啟動 10 個隔離的應(yīng)用即可。

具體說來,Docker 在如下幾個方面具有較大的優(yōu)勢。

更快速的交付和部署

對開發(fā)和運維(devop)人員來說,最希望的就是一次創(chuàng)建或配置,可以在任意地方正常運行。

開發(fā)者可以使用一個標(biāo)準(zhǔn)的鏡像來構(gòu)建一套開發(fā)容器,開發(fā)完成之后,運維人員可以直接使用這個容器來部署代碼。 Docker 可以快速創(chuàng)建容器,快速迭代應(yīng)用程序,并讓整個過程全程可見,使團隊中的其他成員更容易理解應(yīng)用程序是如何創(chuàng)建和工作的。 Docker 容器很輕很快!容器的啟動時間是秒級的,大量地節(jié)約開發(fā)、測試、部署的時間。

更高效的虛擬化

Docker 容器的運行不需要額外的 hypervisor 支持,它是內(nèi)核級的虛擬化,因此可以實現(xiàn)更高的性能和效率。

更輕松的遷移和擴展

Docker 容器幾乎可以在任意的平臺上運行,包括物理機、虛擬機、公有云、私有云、個人電腦、服務(wù)器等。 這種兼容性可以讓用戶把一個應(yīng)用程序從一個平臺直接遷移到另外一個。

更簡單的管理

使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分發(fā)和更新,從而實現(xiàn)自動化并且高效的管理。

對比傳統(tǒng)虛擬機總結(jié)


特性容器虛擬機
啟動秒級分鐘即
硬盤使用一般為MB一般為GB
性能接近原生弱于
系統(tǒng)支持量單機支持上千個容器一般幾十個

安裝Docker

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

怎么在Docker中利用SSH連接docker容器

下面使用CentOS7安裝Docker,本人采用虛擬機的方式來安裝,安裝好的虛擬機必須保證能訪問外網(wǎng)。

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

$ sudo yum install docker

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

$ sudo service docker start
$ sudo chkconfig docker on

獲取鏡像

可以使用 docker pull 命令來從倉庫獲取所需要的鏡像。

下面的例子將從 Docker Hub 倉庫下載一個Centos6并且安裝了jdk7的鏡像:

$ docker pull tcbenkhard/centos6-jdk7

怎么在Docker中利用SSH連接docker容器

列出本地鏡像

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

$ docker images

怎么在Docker中利用SSH連接docker容器

啟動容器

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

因為 Docker 的容器實在太輕量級了,很多時候用戶都是隨時刪除和新創(chuàng)建容器。

下面的命令則啟動一個 bash 終端,允許用戶進行交互。

$ docker run -t -i docker.io/tcbenkhard/centos6-jdk7 /bin/bash
[root@ffe81683c404 /]#

怎么在Docker中利用SSH連接docker容器

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

當(dāng)利用 docker run 來創(chuàng)建容器時,Docker 在后臺運行的標(biāo)準(zhǔn)操作包括:

(1)檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載
(2)利用鏡像創(chuàng)建并啟動一個容器
(3)分配一個文件系統(tǒng),并在只讀的鏡像層外面掛載一層可讀寫層
(4)從宿主主機配置的網(wǎng)橋接口中橋接一個虛擬接口到容器中去
(5)從地址池配置一個 ip 地址給容器
(6)執(zhí)行用戶指定的應(yīng)用程序
(7)執(zhí)行完畢后容器被終止

可以使用下面命令來查看CentOS版本信息:

$ cat /etc/redhat-release

修改root密碼

使用passwd密碼來修改密碼(如提示沒有這個命令行使用yum install passwd安裝):

$ passwd
  xxx密碼
  xxx確認密碼

安裝Openssh

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

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

修改SSH配置文件以下選項,去掉#注釋,將四個選項啟用:

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

怎么在Docker中利用SSH連接docker容器

重啟ssh服務(wù),并設(shè)置開機啟動:

$ service sshd restart
$ chkconfig sshd on

退出容器并保存更改

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

 [root@ffe81683c404 /]# exit

注意:上面ffe81683c404是容器的ID,退出后用于保存的唯一ID。

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

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

其中,-m 來指定提交的說明信息,跟我們使用的版本控制工具一樣;-a 可以指定更新的用戶信息;之后是用來創(chuàng)建鏡像的容器的ID;最后指定目標(biāo)鏡像的倉庫名和 tag 信息。創(chuàng)建成功后會返回這個鏡像的 ID 信息。

提交后docker中就會多出一個centos6-jdk7:ssh的一個鏡像。

怎么在Docker中利用SSH連接docker容器

啟動新的容器并打通22端口

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

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

ssh連接容器:

怎么在Docker中利用SSH連接docker容器

以上就是怎么在Docker中利用SSH連接docker容器,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁名稱:怎么在Docker中利用SSH連接docker容器-創(chuàng)新互聯(lián)
分享URL:http://chinadenli.net/article46/cdsceg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、動態(tài)網(wǎng)站微信公眾號、用戶體驗靜態(tài)網(wǎng)站、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司