官术网_书友最值得收藏!

1.2 練習(xí)平臺Steamboat

為了讓讀者能夠按照書本所述內(nèi)容進(jìn)行練習(xí),本書提供了一個練習(xí)平臺(平臺名為Steamboat),并將其打包成Docker鏡像。該鏡像包含了書中20多個示例,讀者可以使用線上練習(xí)平臺(詳見www.porters.vip),也可以通過本節(jié)指引在個人計算機(jī)或云服務(wù)器上搭建練習(xí)平臺。

本節(jié)中,我們就來學(xué)習(xí)Docker和Steamboat的安裝及使用。

1.2.1 安裝 Docker

Docker是一個用Go語言編寫的開源的應(yīng)用容器引擎,具有輕量、便捷、低開銷等優(yōu)點(diǎn)。開發(fā)者可以將應(yīng)用和對應(yīng)的運(yùn)行環(huán)境包裝到一個可移植的容器中,并發(fā)布到任何裝有Docker的機(jī)器上。本書配套的練習(xí)平臺Steamboat和書中所用的異步渲染服務(wù)Splash都是Docker鏡像,所以我們有必要了解Docker的相關(guān)知識和基本操作。

相關(guān)鏈接

? Docker官方網(wǎng)站:https://www.docker.com/

? Docker安裝介紹:https://docs.docker.com/install/

Docker引擎分為如下兩種。

? Docker Enterprise:簡稱Docker EE,專為企業(yè)開發(fā)和大型IT團(tuán)隊而設(shè)計。

? Docker Community Edition:簡稱Docker CE,適合Docker新手和小型團(tuán)隊,共有3個版本。

■ Stable版,即穩(wěn)定版

■ Test版,即測試版

■ Nightly版,即最新版

本書所選的Docker引擎和版本為Docker CE Stable。安裝Docker CE之前,需要設(shè)置Docker存儲庫,對應(yīng)的命令如下:

$ sudo apt-get update

在安裝過程中,需要允許apt通過HTTPS協(xié)議使用存儲庫,對應(yīng)的設(shè)置命令如下:

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

接著添加Docker官方的GPG密鑰,對應(yīng)命令如下:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

確認(rèn)密鑰添加成功的命令如下:

$ sudo apt-key fingerprint 0EBFCD88

命令執(zhí)行后,終端給出以下提示:

pub    rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A   E2D8 8D81 803C 0EBF CD88
uid              [ unknown] Docker Release (CE deb) <docker@docker.com>
sub    rsa4096 2017-02-22 [S]

這說明密鑰添加成功。然后添加Stable版本的存儲庫,對應(yīng)命令如下:

$ sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"

接著更新apt索引,對應(yīng)命令如下:

$ sudo apt-get update

待索引更新完畢后,就可以安裝Docker CE了,命令如下:

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

該命令執(zhí)行后,會安裝最新版的Docker CE。

安裝驗證

Docker CE安裝完成后,并不會給出類似“安裝成功”的提示。為了確認(rèn)安裝成功并確保Docker CE正常運(yùn)行,我們可以通過運(yùn)行hello-world鏡像進(jìn)行驗證,對應(yīng)命令如下:

$ sudo docker run hello-world

命令執(zhí)行后,終端給出以下提示:

Hello from Docker!
This message shows that your installation appears to be working correctly.

提示中出現(xiàn)的Hello from Docker字樣就說明Docker CE正常運(yùn)行。

1.2.2 安裝 Steamboat

Steamboat由以下3個Docker鏡像組成。

? steamboat-part1,版本號為sp1,包含練習(xí)平臺導(dǎo)航頁和大部分示例。

? steamboat-part2,版本號為sp2,包含示例12。

? steamboat-part3,版本號為sp3,包含示例3。

Steamboat鏡像存儲在阿里云容器鏡像倉庫中,其下載命令為:

$sudo docker pull
registry.cn-hangzhou.aliyuncs.com/steamboat/steamboat:[鏡像版本號]

其中命令中的[鏡像版本號]即上方給出的sp1/sp2/sp3。鏡像下載命令如下:

$ sudo docker pull
registry.cn-hangzhou.aliyuncs.com/steamboat/steamboat:sp1
$ sudo docker pull
registry.cn-hangzhou.aliyuncs.com/steamboat/steamboat:sp2
$ sudo docker pull
registry.cn-hangzhou.aliyuncs.com/steamboat/steamboat:sp3

我們可以通過如下命令檢查鏡像是否下載成功:

$ sudo docker images

此時控制臺會輸出如圖1-15所示的信息。

圖1-15 控制臺輸出

列表顯示sp1、sp2和sp3這3個鏡像,說明鏡像下載成功。列表中的IMAGE ID為鏡像ID,當(dāng)我們需要啟動鏡像時,就會用到它。

每個鏡像開放了不同的端口,對應(yīng)的端口列表如下。

? sp1:80、8090、8205、8207。

? sp2:8202。

? sp3:8206。

運(yùn)行鏡像時,需要為端口設(shè)置映射。例如運(yùn)行sp2時,需要將宿主機(jī)的端口映射到8202,對應(yīng)命令如下:

$ sudo docker run -d -p 8202:8202 0487eb7998d9

啟動多個鏡像時,就要運(yùn)行多條命令,而且還需要設(shè)置端口映射,頗為麻煩。我們可以編寫一個shell腳本runp.sh完成這些工作,其內(nèi)容如下(要注意的是,每行命令最后面的字符串是IMAGE ID。ID的值有可能發(fā)生變化,這里需要填寫實(shí)際的ID值,值可以通過docker images命令查看):

# sp1
sudo docker run -d -p 80:80 -p8090:8090 -p 8205:8205 -p 8207:8207 9b5cc6bd42d0
# sp2
sudo docker run -d -p 8202:8202 0487eb7998d9
# sp3
sudo docker run -d -p 8206:8206 5c75ec9ef2b6

當(dāng)我們需要啟動Steamboat時,只需在終端執(zhí)行sh runp.sh命令,便可以在瀏覽器中輸入http://localhost訪問練習(xí)平臺頁面了。

1.2.3 Steamboat 使用說明

Steamboat首頁包括示例導(dǎo)航和快速索引兩個部分。讀者可以根據(jù)快速索引找到本書對應(yīng)章節(jié)的示例,如圖1-16所示。

圖1-16 快速索引

點(diǎn)擊對應(yīng)的下拉菜單,即可找到該節(jié)中對應(yīng)的示例。如圖1-17所示,該導(dǎo)航根據(jù)示例編號按升序排序。

圖1-17 示例導(dǎo)航

點(diǎn)擊示例標(biāo)簽卡中的按鈕后,瀏覽器就會在新窗口中打開對應(yīng)的示例頁面。

主站蜘蛛池模板: 远安县| 永顺县| 扶风县| 新邵县| 博客| 亳州市| 桃园县| 陆丰市| 万宁市| 敦化市| 青阳县| 铜鼓县| 游戏| 东港市| 平陆县| 北京市| 长宁区| 阿巴嘎旗| 杭州市| 大方县| 平武县| 宁波市| 呼和浩特市| 鄢陵县| 治县。| 托克逊县| 江都市| 蓝田县| 威信县| 白水县| 海晏县| 梁平县| 青州市| 桂林市| 兴山县| 吴江市| 民勤县| 中西区| 鄯善县| 禹城市| 盐津县|