本教程介紹如何快速搭建Docker環境,並使用Docker部署一個Nginx服務。
體驗目標
本場景將提供一台配置了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。
2.在終端中輸入連接命令ssh [username]@[ipaddress]。您需要將其中的username和ipaddress替換為第1小節中創建的ECS服務器的登錄名和公網地址。例如:
ssh root@123.123.123.123

命令顯示結果如下:

3.輸入yes。
4.同意繼續后將會提示輸入登錄密碼。 密碼為已創建的雲服務的ECS的登錄密碼。

登錄成功后會顯示如下信息。

安裝Docker CE
Docker有兩個分支版本:Docker CE和Docker EE,即社區版和企業版。本教程基於CentOS 7安裝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
配置阿里雲鏡像倉庫(鏡像加速)
Docker的默認官方遠程倉庫是hub.docker.com,由於網絡原因,下載一個Docker官方鏡像可能會需要很長的時間,甚至下載失敗。為此,阿里雲容器鏡像服務ACR提供了官方的鏡像站點,從而加速官方鏡像的下載。下面介紹如何使用阿里雲鏡像倉庫。
1.登錄容器鏡像服務控制台。
a. 在頁面左側資源欄點擊 一鍵復制登錄url,打開瀏覽器隱身窗口(無痕模式)輸入已復制的登錄鏈接。

b. 輸入資源提供的子用戶名稱和子用戶密碼 ,點擊 【登錄】 ;然后搜索容器鏡像,點擊【容器鏡像服務】登錄控制台。

c. 登錄成功頁面如下。(若彈出開通服務窗口,關閉即可)

2.單擊【鏡像中心】 > 【鏡像加速器】,可以看到阿里雲為您提供了一個專屬的鏡像加速地址。

3.配置Docker的自定義鏡像倉庫地址。請將下面命令中的鏡像倉庫地址https://kqh8****.mirror.aliyuncs.com替換為阿里雲為您提供的專屬鏡像加速地址。
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"]
}
EOF
4.重新加載服務配置文件。
systemctl daemon-reload
5.重啟Docker服務。
systemctl restart docker
使用Docker安裝Nginx服務
1.查看Docker鏡像倉庫中Nginx的可用版本。
docker search nginx
命令輸出如下所示:

2.拉取最新版的Nginx鏡像。
docker pull nginx:latest
命令輸出如下所示:

3.查看本地鏡像。
docker images
命令輸出如下所示:

4.運行容器。
docker run --name nginx-test -p 8080:80 -d nginx
命令參數說明:
- --name nginx-test:容器名稱。
- -p 8080:80: 端口進行映射,將本地8080端口映射到容器內部的80端口。
- -d nginx: 設置容器在后台一直運行。
命令輸出如下所示:

5.在瀏覽器地址欄輸入http://<ECS公網地址>:8080訪問Nginx服務。

