使用應(yīng)用鏡像快速部署Docker
本文主要使用阿里云提供的Docker應(yīng)用鏡像在輕量應(yīng)用服務(wù)器上快速部署Docker,并使用Docker部署Nginx Web服務(wù)器。
如果您已創(chuàng)建輕量應(yīng)用服務(wù)器,可以通過以下方式部署Docker:
通過手動的方式部署Docker。具體操作,請參見手動部署Docker。
通過重置系統(tǒng)時選擇Docker應(yīng)用鏡像部署Docker,但重置系統(tǒng)會清除輕量應(yīng)用服務(wù)器上的磁盤數(shù)據(jù),請您根據(jù)需要做好數(shù)據(jù)備份。具體操作,請參見重置系統(tǒng)。
關(guān)于Docker的更多信息,請參見Docker概述。
部署Docker
在左側(cè)導(dǎo)航欄,單擊服務(wù)器。
在服務(wù)器頁面的左上角,單擊創(chuàng)建服務(wù)器。
在售賣頁,完成服務(wù)器的配置信息。
具體配置項說明如下表所示。
配置項
說明
示例
實例類型
選擇服務(wù)器實例。
服務(wù)器實例
地域
請根據(jù)您業(yè)務(wù)所在的地理位置選擇地域。服務(wù)器創(chuàng)建后無法直接更換地域,請謹慎選擇。
重要當您在中國內(nèi)地訪問中國香港、新加坡等地域的服務(wù)器時,會有較大的網(wǎng)絡(luò)延遲。因此建議選擇和您目標用戶所在地域最為接近的地域,可以進一步提升用戶訪問速度。更多信息,請參見地域與網(wǎng)絡(luò)連通性。
華東1(杭州)
鏡像
在應(yīng)用鏡像頁簽下,選擇Docker和版本。
類型:應(yīng)用鏡像
應(yīng)用:選擇Docker 19.03。
套餐配置
您可以根據(jù)業(yè)務(wù)需求選擇適配的套餐,超出套餐外的公網(wǎng)出流量會產(chǎn)生額外費用。關(guān)于計費的更多信息,請參見計費概述。
60元/月的套餐
數(shù)據(jù)盤(可選)
如果您的業(yè)務(wù)需要掛載數(shù)據(jù)盤,可以根據(jù)業(yè)務(wù)需求選擇數(shù)據(jù)盤的容量。
重要如果掛載了數(shù)據(jù)盤,創(chuàng)建輕量應(yīng)用服務(wù)器后,您必須創(chuàng)建分區(qū)和文件系統(tǒng)才能使數(shù)據(jù)盤變?yōu)榭捎谩?/p>
0GB
購買時長
選擇購買輕量應(yīng)用服務(wù)器的時長。您可以選擇是否開啟到期自動續(xù)費功能。
1個月
購買數(shù)量
購買輕量應(yīng)用服務(wù)器的數(shù)量。默認創(chuàng)建1臺,最多可創(chuàng)建20臺輕量應(yīng)用服務(wù)器。
1
單擊立即購買。
請您根據(jù)頁面提示完成服務(wù)器的購買。當輕量應(yīng)用服務(wù)器狀態(tài)從準備中變更為運行中后,表示Docker已部署完成。
(條件必選)如果您在創(chuàng)建輕量應(yīng)用服務(wù)器時掛載了數(shù)據(jù)盤,則必須創(chuàng)建分區(qū)和文件系統(tǒng)才能使數(shù)據(jù)盤變?yōu)榭捎谩>唧w操作,請參見分區(qū)格式化數(shù)據(jù)盤。
使用Docker
在左側(cè)導(dǎo)航欄,單擊服務(wù)器。
在服務(wù)器頁面,找到通過Docker鏡像創(chuàng)建的輕量應(yīng)用服務(wù)器,然后單擊實例ID。
單擊應(yīng)用詳情頁簽,查看Docker使用步驟、Docker信息、應(yīng)用程序安裝信息。
在Docker使用步驟區(qū)域,單擊遠程登錄服務(wù)器。
在彈出的遠程連接對話框中,單擊立即登錄。
在服務(wù)器內(nèi),使用Docker。
本文以拉取并運行Nginx鏡像為示例。
依次運行以下命令,配置鏡像加速器。
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://docker.m.daocloud.io"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
運行以下命令,拉取Nginx鏡像。
sudo docker pull nginx
運行以下命令,查看已有的本地鏡像。
sudo docker images
如下圖所示,表示已拉取Nginx鏡像到本地。
運行以下命令,創(chuàng)建并后臺運行Nginx容器,同時將Nginx的
80
端口映射至服務(wù)器的8080
端口。sudo docker run --name 容器別名 -p 8080:80 -d 鏡像名稱(REPOSITORY)
本示例中,鏡像名稱為
nginx
,容器別名示例為nginx-test
,示例命令如下所示。sudo docker run --name nginx-test -p 8080:80 -d nginx
說明實際的鏡像名稱以您運行
docker images
命令后的查詢結(jié)果為準。運行以下命令,查看容器列表。
sudo docker ps
查詢結(jié)果如下所示:
在輕量應(yīng)用服務(wù)器的防火墻中放行所需的
8080
端口。具體操作,請參見防火墻設(shè)置。在本地主機的瀏覽器中,訪問
輕量應(yīng)用服務(wù)器公網(wǎng)IP:8080
。如下圖所示,表示已成功部署Nginx。如果無法訪問Nginx,可能docker網(wǎng)段與內(nèi)網(wǎng)網(wǎng)段沖突,您需要修改docker默認的網(wǎng)段即可。具體操作,請參見常見問題。
常見問題
問題描述
啟動Docker時默認會創(chuàng)建一個docker0網(wǎng)橋,如果docker0網(wǎng)橋的網(wǎng)段與內(nèi)網(wǎng)eth0網(wǎng)段沖突,可能導(dǎo)致Nginx無法訪問。
解決方案
運行以下命令,查看docker0和eth0網(wǎng)段是否沖突。
route
如果回顯信息如下圖所示,表示docker0和eth0網(wǎng)段沖突。
運行以下命令,停止docker。
sudo systemctl stop docker
運行以下命令,修改
/etc/docker/daemon.json
文件。sudo vim /etc/docker/daemon.json
按
i
鍵進入編輯模式,在文件中添加以下網(wǎng)段信息。{ "bip":"100.10.XX.XX/24" }
說明100.10.XX.XX為示例網(wǎng)段信息,添加的網(wǎng)段信息和eth0網(wǎng)段信息不一致即可。
按
Esc
鍵,輸入:wq
,退出編輯模式并保存文件。運行以下命令,重新加載配置文件。
sudo systemctl daemon-reload
運行以下命令,啟動docker。
sudo systemctl start docker
運行以下命令,檢查修改是否生效。
route
如果回顯信息如下圖所示,表示網(wǎng)段信息已修改成功,重新訪問Nginx即可。