天天看點

基于ECS快速搭建Docker環境

體驗目标

本場景将提供一台配置了CentOS 7.7的ECS執行個體(雲伺服器)。通過本教程的操作,您可以基于ECS執行個體快速搭建一個Docker環境,并在Docker環境中部署一個Nginx服務。

背景知識

容器技術

容器是一個允許我們在資源隔離的過程中,運作應用程式和其依賴項的 、輕量的 、作業系統級别的虛拟化技術, 運作應用程式所需的所有必要元件都打包為單個鏡像,這個鏡像是可以重複使用的。當鏡像運作時,它是運作在獨立的環境中,并不會和其他的應用共享主機作業系統的記憶體、CPU或磁盤。這保證了容器内的程序不會影響到容器外的任何程序。

Docker

Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的Linux機器或Windows機器上,也可以實作虛拟化,容器是完全使用沙箱機制,互相之間不會有任何接口。Docker底層用的Linux的cgroup和namespace這兩項技術來實作應用隔離,一個完整的Docker有以下幾個部分組成:

• Docker Client用戶端

• Docker Daemon守護程序

• Docker Image鏡像

• Docker Container容器

連接配接ECS伺服器

  1. 打開系統自帶的終端工具。

    • Windows:CMD或Powershell。

• MAC:Terminal。

  1. 在終端中輸入連接配接指令ssh [username]@[ipaddress]。您需要将其中的username和ipaddress替換為第1小節中建立的ECS伺服器的登入名和公網位址。例如:
  2. [email protected]

指令顯示結果如下:

  1. 輸入yes。
  2. 同意繼續後将會提示輸入登入密碼。 密碼為已建立的雲服務的ECS的登入密碼。

    登入成功後會顯示如下資訊。

基于ECS快速搭建Docker環境

安裝Docker CE

Docker有兩個分支版本:Docker CE和Docker EE,即社群版和企業版。本教程基于CentOS 7安裝Docker CE。

  1. 安裝Docker的依賴庫。
  2. install -y yum-utils device-mapper-persistent-data lvm2
  3. 添加Docker CE的軟體源資訊。

    yum-config-manager --add-repo

    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  4. 安裝Docker CE。
  5. makecache fast

yum -y install docker-ce

  1. 啟動Docker服務。
  2. start docker
基于ECS快速搭建Docker環境

配置阿裡雲鏡像倉庫(鏡像加速)

Docker的預設官方遠端倉庫是hub.docker.com,由于網絡原因,下載下傳一個Docker官方鏡像可能會需要很長的時間,甚至下載下傳失敗。為此,阿裡雲容器鏡像服務ACR提供了官方的鏡像站點,進而加速官方鏡像的下載下傳。下面介紹如何使用阿裡雲鏡像倉庫。

  1. 登入容器鏡像服務控制台。
  2. 在頁面左側資源欄點選 一鍵複制登入url,打開浏覽器隐身視窗(無痕模式)輸入已複制的登入連結。
  3. 輸入資源提供的 子使用者名稱 和 子使用者密碼 ,點選 【登入】 ;然後搜尋容器鏡像,點選【容器鏡像服務】登入控制台。
  4. 登入成功頁面如下。(若彈出開通服務視窗,關閉即可)
  5. 單擊【鏡像中心】 > 【鏡像加速器】,可以看到阿裡雲為您提供了一個專屬的鏡像加速位址。
  6. 配置Docker的自定義鏡像倉庫位址。請将下面指令中的鏡像倉庫位址 https://kqh8 **.mirror.aliyuncs.com替換為阿裡雲為您提供的專屬鏡像加速位址。
  7. /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://bnl9gr2m.mirror.aliyuncs.com"]

}

EOF

  1. 重新加載服務配置檔案。
  2. daemon-reload
  3. 重新開機Docker服務。
  4. restart docker

使用Docker安裝Nginx服務

  1. 檢視Docker鏡像倉庫中Nginx的可用版本。
  2. search nginx

指令輸出如下所示:

  1. 拉取最新版的Nginx鏡像。
  2. pull nginx:latest
  1. 檢視本地鏡像。
  2. images
  1. 運作容器。
  2. run --name nginx-test -p 8080:80 -d nginx

指令參數說明:

• --name nginx-test:容器名稱。

• -p 8080:80: 端口進行映射,将本地8080端口映射到容器内部的80端口。

• -d nginx: 設定容器在背景一直運作。

  1. 在浏覽器位址欄輸入 http://公網位址>:8080通路Nginx服務。
基于ECS快速搭建Docker環境