本文主要使用阿里雲提供的Docker應用鏡像在Simple Application Server上快速部署Docker環境,並使用Docker啟動Nginx容器。
如果您已建立Simple Application Server,可以通過以下方式部署Docker:
通過手動的方式部署Docker。具體操作,請參見手動部署Docker。
通過重設系統時選擇Docker應用鏡像部署Docker,但重設系統會清除Simple Application Server上的磁碟資料,請您根據需要做好資料備份。具體操作,請參見重設系統。
關於Docker的更多資訊,請參見Docker概述。
部署Docker
在左側導覽列,單擊伺服器。
在伺服器頁面的左上方,單擊建立伺服器。
在售賣頁,完成伺服器的配置資訊。
具體配置項說明如下表所示。
配置項
說明
樣本
地區
請根據您業務所在的地理位置選擇地區。伺服器建立後無法直接更換地區,請謹慎選擇。
重要當您在中國內地訪問中國香港、新加坡等地區的伺服器時,會有較大的網路延遲。因此建議選擇和您目標使用者所在地區最為接近的地區,可以進一步提升使用者訪問速度。更多資訊,請參見地區與網路連通性。
中國香港
鏡像
在應用鏡像頁簽下,選擇Docker鏡像。
類型:應用鏡像
應用:選擇Docker 26.1.3
套餐配置
您可以根據業務需求選擇適配的套餐,超出套餐外的公網出流量會產生額外費用。關於計費的更多資訊,請參見計費概述。
$3.5/月的套餐
資料盤(可選)
如果您的業務需要掛載資料盤,可以根據業務需求選擇資料盤的容量。
重要如果掛載了資料盤,建立Simple Application Server後,您必須建立分區和檔案系統才能使資料盤變為可用。
0GB
購買時間長度
選擇購買Simple Application Server的時間長度。您可以選擇是否開啟到期自動續約功能。
1個月
購買數量
購買Simple Application Server的數量。預設建立1台,最多可建立20台Simple Application Server。
1
單擊立即購買。
請您根據頁面提示完成伺服器的購買。當Simple Application Server狀態從準備中變更為運行中後,表示Docker已部署完成。
(條件必選)如果您在建立Simple Application Server時掛載了資料盤,則必須建立分區和檔案系統才能使資料盤變為可用。具體操作,請參見分區格式化資料盤。
使用Docker
在左側導覽列,單擊伺服器。
在伺服器頁面,找到通過Docker鏡像建立的Simple Application Server,然後單擊執行個體ID。
單擊應用詳情頁簽,查看Docker使用步驟、Docker資訊、應用程式安裝資訊。
在Docker使用步驟地區,單擊遠程登入伺服器。
在彈出的遠端連線對話方塊中,單擊立即登入。
在伺服器內,使用Docker。
本文以拉取並運行Nginx容器為樣本。
運行以下命令,拉取Nginx鏡像。
sudo docker pull nginx
運行以下命令,查看已有的本地鏡像。
sudo docker images
如下圖所示,表示已拉取Nginx鏡像到本地。
運行以下命令,建立並後台運行Nginx容器,同時設定Nginx容器直接使用伺服器的
80
連接埠。sudo docker run --name 容器別名 --network host -d 鏡像名稱(REPOSITORY)
本樣本中,鏡像名稱為
nginx
,容器別名樣本為nginx-test01
,樣本命令如下所示。sudo docker run --name nginx-test01 --network host -d nginx
說明實際的鏡像名稱以您運行
docker images
命令後的查詢結果為準。運行以下命令,查看容器列表。
sudo docker ps
查詢結果如下所示:
在本地主機的瀏覽器中,訪問
Simple Application Server公網IP
。
常見問題
問題描述
啟動Docker時預設會建立一個docker0橋接器,如果docker0橋接器的網段與內網eth0網段衝突,可能導致Nginx無法訪問。
解決方案
運行以下命令,查看docker0和eth0網段是否衝突。
route -n
如果回顯資訊如下圖所示,表示docker0和eth0網段衝突。
運行以下命令,停止docker。
sudo systemctl stop docker
運行以下命令,修改
/etc/docker/daemon.json
檔案。sudo vim /etc/docker/daemon.json
按
i
鍵進入編輯模式,在檔案中添加以下網段資訊。{ "bip":"100.10.XX.XX/24" }
說明100.10.XX.XX為樣本網段資訊,添加的網段資訊和eth0網段資訊不一致即可。
按
Esc
鍵,輸入:wq
,退出編輯模式並儲存檔案。運行以下命令,重新載入設定檔。
sudo systemctl daemon-reload
運行以下命令,啟動docker。
sudo systemctl start docker
運行以下命令,檢查修改是否生效。
route
如果回顯資訊如下圖所示,表示網段資訊已修改成功,重新訪問Nginx即可。