天天看點

[ECS7天實踐訓練營 進階路線] Day2 基于ECS快速搭建Docker環境Day2 基于ECS快速搭建Docker環境

Day2 基于ECS快速搭建Docker環境

[TOC]

背景知識

容器

- 資源隔離(沙箱)
- 運作應用程式和其依賴項
- 虛拟化
- 鏡像可重複使用
           

Docker

- 開源           
  • 底層隔離實作
    - cgroup
       - namespace           
  • 組成
    - 用戶端 | Docker Client           
    • 守護程序 | Docker Daemon
    • 鏡像 | Docker Image
    • 容器 | Docker Container

實踐

Step1. 安裝

  • 指令
# Docker依賴
yum install -y yum-utils device-mapper-persistent-data lvm2

# 使用剛安裝的yum-utils中的yum-config-manager添加Docker CE的阿裡鏡像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 提前生成緩存以提高搜尋安裝軟體的速度
yum makecache fast
# 安裝Docker-CE
yum -y install docker-ce

# 啟動docker
systemctl start docker           
  • 執行個體

Step2. 配置專屬鏡像加速

  • 在阿裡雲的容器鏡像服務中提供了鏡像加速器,幫助我們通路更快擷取 docker官方倉庫
  • # 通過ls /etc/docker/ 發現配置檔案僅有key.json,是以需要建立項目參數daemon.json
    touch /etc/docker/daemon.json
    
    # 替換成自己的連結
    tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://blabla.mirror.aliyuncs.com"]
    }
    EOF
    
    # 重新開機docker
    systemctl daemon-reload
    systemctl restart docker           

Step3. 安裝Nginx服務

- 指令
           
# 查詢docker倉庫上的nginx鏡像
docker search nginx

# 安裝其中的官方最新版
docker pull nginx:latest

# 檢驗安裝
docker images

# 以nginx-test為容器名運作nginx,并把伺服器的8080端口映射到容器内部的80端口
docker run --name nginx-test -p 8080:80 -d nginx           
  • 通路網站
  • 修改首頁
    # 進入nginx-test容器的bash終端
    docker exec -it nginx-test /bin/bash
    
    # 檢視預設首頁
    cat /usr/share/nginx/html/index.html
    
    # 安裝vim并修改首頁
    apt update
    apt install vim
    vim /usr/share/nginx/html/index.html
    
    # 重新開機nginx-test容器
    docker restart nginx-test           
  • 檢視修改後的首頁

done!