基于ECS快速搭建Docker環境
什麼是docker?
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的Linux機器上,也可以實作虛拟化,容器是完全使用沙箱機制,互相之間不會有任何接口。簡言之,就是可以在Linux上鏡像使用的這麼一個容器。
docker可以在什麼情況下使用
- web應用自動化打包釋出,像tomcat應用的釋出。
- 自動化測試和持續內建、釋出
- 在服務型環境中部署和調整資料庫或其他的背景應用
- 搭建paas環境
來源位址:
https://www.php.cn/docker/446654.html例如:華為雲學院上的沙盒實驗室,就是docker的一個應用(
https://lab.huaweicloud.com/)
上面的實驗也是挺有意思的
一、建立并連接配接ECS伺服器
我下面實驗使用的是阿裡雲體驗版一小時的ECS伺服器
1.建立成功後會有如下内容
https://s1.ax1x.com/2020/09/24/0Svx6U.jpg2.使用xshell6.0連接配接建立的ECS伺服器
https://s1.ax1x.com/2020/09/24/0SvvlT.png二、安裝Docker CE
docker有兩個版本,Docker CE:社群版、Docker EE:企業版
本次基于CentOS 7.0 安裝Docker CE
1.安裝docker的依賴庫
yum install -y yum-utils device-mapper-persistent-data lvm2
https://s1.ax1x.com/2020/09/24/0SvrOe.png https://s1.ax1x.com/2020/09/24/0SvBQO.png 2.添加Docker CE軟體源資訊
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
https://s1.ax1x.com/2020/09/24/0Sv0SK.png 3.安裝Docker CE
yum makecache fast
yum -y install docker-ce
https://s1.ax1x.com/2020/09/24/0SvyeH.png https://s1.ax1x.com/2020/09/24/0SvDyD.png 4.啟動并檢視Docker服務
systemctl start docker
systemctl status docker
https://s1.ax1x.com/2020/09/24/0Sv2FI.png 三、配置阿裡雲鏡像倉庫(鏡像加速)
Docker的預設遠端倉庫是hub.docker.com,使用這個遠端倉庫下載下傳速度緩慢,甚至會下載下傳失敗。
阿裡雲容器鏡像服務ACR有提供官方的鏡像,進而加速下載下傳
類似的還有清華鏡像,網易鏡像等等,下載下傳軟體包多半會使用國内的鏡像,速度會很快。
本次實驗使用阿裡雲容器鏡像倉庫
1.阿裡雲控制台登陸
使用浏覽器無痕視窗登陸
https://s1.ax1x.com/2020/09/24/0SvRYt.png2.搜尋容器鏡像
https://s1.ax1x.com/2020/09/24/0SvWfP.png3.選擇鏡像加速器
https://s1.ax1x.com/2020/09/24/0SvhSf.png https://s1.ax1x.com/2020/09/24/0Sv4l8.png先選擇你的ECS作業系統,在複制黃框中的内容到ECS伺服器上
4.在ECS伺服器上配置專屬鏡像加速位址
https://s1.ax1x.com/2020/09/24/0Sv56S.png5.重新加載服務配置檔案,并重新開機Docker服務
systemctl daemon-reload
systemctl restart docker
四、使用Docker安裝Nginx服務
1.使用Docker擷取Nginx
docker search nginx
https://s1.ax1x.com/2020/09/24/0SvTmQ.png 2.拉取Nginx最新的鏡像
docker pull nginx:latest
https://s1.ax1x.com/2020/09/24/0SvHTs.png 3.檢視本地鏡像
docker images
https://s1.ax1x.com/2020/09/24/0Sv7wj.png 4.設定并運作容器
docker run --name nginx-test -p 8080:80 -d nginx
https://s1.ax1x.com/2020/09/24/0SvLYq.png 說明:
--name nginx-text:容器名稱
-p 8080:80:端口映射,将本地8080端口映射到容器内部的80端口
-d nginx:設定容器一直在背景一直運作
容器的端口映射: docker容器在啟動的時候,如果不指定端口映射參數,在容器外部是無法通過網絡來通路容器内的網絡應用和服務的
原理如下圖:
https://s1.ax1x.com/2020/09/24/0pPv5Q.png具體docker端口映射的原理:
https://blog.csdn.net/annita2019/article/details/1086800315.使用浏覽器測試登陸Nginx
使用:
http://彈性IP>:8080 通路Nginx服務 https://s1.ax1x.com/2020/09/24/0SvjpV.png