天天看點

ECS七天訓練營進階班 第二天 基于ECS快速搭建Docker環境第二天 基于ECS快速搭建Docker環境

第二天 基于ECS快速搭建Docker環境

目标

在阿裡雲提供的體驗機中快速搭建Docker環境,并在Docker環境中部署一個Nginx服務。

0x00 背景知識

  1. 容器技術

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

  2. Docker

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

    • Docker Client用戶端
    • Docker Daemon守護程序
    • Docker Image鏡像
    • Docker Container容器

0x01 開始

  1. 在阿裡雲申請免費體驗機,環境如下
作業系統 版本
CentOS 7.7
  1. 使用任意ssh工具登入ECS體驗機

0x02 安裝Docker CE

  1. 安裝Docker的依賴庫。
    yum install -y yum-utils device-mapper-persistent-data lvm2           
  2. 添加Docker CE的軟體源資訊。
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo           
  3. 安裝Docker CE。
    yum makecache fast
    yum -y install docker-ce           
  4. 啟動Docker服務。
    systemctl start docker           

0x03 配置阿裡雲鏡像加速

  1. 使用體驗機的子賬戶登入ECS控制台
  2. 搜尋容器鏡像,點選【容器鏡像服務】登入控制台。
    ECS七天訓練營進階班 第二天 基于ECS快速搭建Docker環境第二天 基于ECS快速搭建Docker環境
  3. 單擊【鏡像中心】 > 【鏡像加速器】,可以看到阿裡雲為您提供了一個專屬的鏡像加速位址。
    ECS七天訓練營進階班 第二天 基于ECS快速搭建Docker環境第二天 基于ECS快速搭建Docker環境
  4. 配置Docker的自定義鏡像倉庫位址。
    tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["<鏡像加速器位址>"]
    }
    EOF           
  5. 重新加載服務配置檔案。
    systemctl daemon-reload           
  6. 重新開機Docker服務。
    systemctl restart docker           

0x04 使用Docker安裝Nginx服務

  1. 檢視Docker鏡像倉庫中Nginx的可用版本。
    docker search nginx           
    輸出如下:
ECS七天訓練營進階班 第二天 基于ECS快速搭建Docker環境第二天 基于ECS快速搭建Docker環境
  1. 拉取最新版的Nginx鏡像。
    docker pull nginx:latest           
    指令輸出如下:
ECS七天訓練營進階班 第二天 基于ECS快速搭建Docker環境第二天 基于ECS快速搭建Docker環境
  1. 檢視本地鏡像。
    docker images           
    輸出如下
ECS七天訓練營進階班 第二天 基于ECS快速搭建Docker環境第二天 基于ECS快速搭建Docker環境
  1. 運作容器。
    docker run --name nginx-test -p 8080:80 -d nginx           
    指令參數說明:
    • --name nginx-test:容器名稱。
    • -p 8080:80: 端口進行映射,将本地8080端口映射到容器内部的80端口。
    • -d nginx: 設定容器在背景一直運作。
ECS七天訓練營進階班 第二天 基于ECS快速搭建Docker環境第二天 基于ECS快速搭建Docker環境

0x05 使用浏覽器驗證結果

使用浏覽器通路

http://<ECS IP>:8080

,通路Nginx服務。

結果如下:

ECS七天訓練營進階班 第二天 基于ECS快速搭建Docker環境第二天 基于ECS快速搭建Docker環境