學習目标:
基于ECS執行個體快速搭建一個Docker環境,并在Docker環境中部署一個Nginx服務。
背景知識:
容器技術
容器是一個允許我們在資源隔離的過程中,運作應用程式和其依賴項的 、輕量的 、作業系統級别的虛拟化技術, 運作應用程式所需的所有必要元件都打包為單個鏡像,這個鏡像是可以重複使用的。當鏡像運作時,它是運作在獨立的環境中,并不會和其他的應用共享主機作業系統的記憶體、CPU或磁盤。這保證了容器内的程序不會影響到容器外的任何程序。
Docker
Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的Linux機器或Windows機器上,也可以實作虛拟化,容器是完全使用沙箱機制,互相之間不會有任何接口。Docker底層用的Linux的cgroup和namespace這兩項技術來實作應用隔離,一個完整的Docker有以下幾個部分組成:
Docker Client用戶端
Docker Daemon守護程序
Docker Image鏡像
Docker Container容器
學習内容:
一,連接配接ECS伺服器
二,安裝Docker CE:
1.安裝Docker的依賴庫。
yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加Docker CE的軟體源資訊。
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安裝Docker CE。
yum makecache fast
yum -y install docker-ce
- 啟動Docker服務。
systemctl start docker
三,配置阿裡雲鏡像倉庫(鏡像加速)
Docker的預設官方遠端倉庫是hub.docker.com,由于網絡原因,下載下傳一個Docker官方鏡像可能會需要很長的時間,甚至下載下傳失敗。為此,阿裡雲容器鏡像服務ACR提供了官方的鏡像站點,進而加速官方鏡像的下載下傳。
配置Docker的自定義鏡像倉庫位址。請将下面指令中的鏡像倉庫位址
https://kqh8**.mirror.aliyuncs.com替換為阿裡雲為您提供的專屬鏡像加速位址。
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"]
}
EOF
- 重新加載服務配置檔案。
systemctl daemon-reload
- 重新開機Docker服務。
systemctl restart docker
四,使用Docker安裝Nginx服務
- 檢視Docker鏡像倉庫中Nginx的可用版本。
docker search nginx
- 拉取最新版的Nginx鏡像。
docker pull nginx:latest
- 檢視本地鏡像。
docker images
- 運作容器。
docker run --name nginx-test -p 8080:80 -d nginx
指令參數說明:
--name nginx-test:容器名稱。
-p 8080:80: 端口進行映射,将本地8080端口映射到容器内部的80端口。
-d nginx: 設定容器在背景一直運作。
5.在浏覽器位址欄輸入
http://公網位址>:8080通路Nginx服務。