安裝前的準備工作
在安裝容器引擎前,請了解容器引擎的基礎(chǔ)知識,具體請參見Docker Documentation。
選擇容器引擎的版本
容器引擎幾乎支持在所有操作系統(tǒng)上安裝,用戶可以根據(jù)需要選擇要安裝的容器引擎版本,具體請參見https://docs.docker.com/engine/install/。
說明:由于SWR支持容器引擎1.11.2及以上版本上傳鏡像,建議下載對應(yīng)版本。
安裝容器引擎需要連接互聯(lián)網(wǎng),內(nèi)網(wǎng)服務(wù)器需要綁定彈性公網(wǎng)IP后才能訪問。
安裝容器引擎
你可以根據(jù)自己的操作系統(tǒng)選擇對應(yīng)的安裝步驟:
Linux操作系統(tǒng)下安裝
在Linux操作系統(tǒng)下,可以使用如下命令快速安裝Docker的最新穩(wěn)定版本。如果您想安裝其他特定版本的Docker,可參考安裝Docker。
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
sudo systemctl daemon-reload
sudo systemctl restart docker
EulerOS操作系統(tǒng)下安裝
在EulerOS操作系統(tǒng)下,安裝容器引擎的方法如下:
登錄彈性云服務(wù)器。
配置yum源。
如果您的機器上還沒有配置yum源,可以參照如下方法配置:如何使用自動化工具配置華為云鏡像源(x86_64和ARM)?如果已配置,可跳過該步驟。
安裝并運行容器引擎。
獲取yum源里的docker-engine包。
yum search docker-engine
使用yum install -y命令安裝上一步獲取的docker-engine包,x86架構(gòu)示例:
yum install docker-engine.x86_64 -y
設(shè)置開機啟動Docker服務(wù)。
systemctl enable docker
啟動Docker。
systemctl start docker
檢查安裝結(jié)果。
docker --version
回顯如下類似信息,表示容器引擎安裝成功。
Docker version 18.09.0, build 384e3e9
制作容器鏡像
本節(jié)指導(dǎo)您通過Dockerfile定制一個簡單的Web應(yīng)用程序的容器鏡像。Dockerfile是一個文本文件,其內(nèi)包含了一條條的指令(Instruction),每一條指令構(gòu)建一層,因此每一條指令的內(nèi)容,就是描述該層應(yīng)當如何構(gòu)建。
使用Nginx鏡像創(chuàng)建容器應(yīng)用,在瀏覽器訪問時則會看到默認的Nginx歡迎頁面,本節(jié)以Nginx鏡像為例,修改Nginx鏡像的歡迎頁面,定制一個新的鏡像,將歡迎頁面改為“Hello, SWR!”。
以root用戶登錄容器引擎所在機器。
創(chuàng)建一個名為Dockerfile的文件。
mkdir mynginx
cd mynginx
touch Dockerfile
編輯Dockerfile。
vim Dockerfile
增加文件內(nèi)容如下:
FROM nginx
RUN echo '<h1>Hello, SWR!</h1>' > /usr/share/nginx/html/index.html
Dockerfile指令介紹如下。
FROM語句:表示使用nginx鏡像作為基礎(chǔ)鏡像,一個Dockerfile中FROM是必備的指令,并且必須是第一條指令。
RUN語句:格式為RUN <命令>,表示執(zhí)行echo命令,在顯示器中顯示一段“Hello, SWR!”的文字。
按“Esc”,輸入:wq,保存并退出。
使用docker build [選項] <上下文路徑> 構(gòu)建鏡像。
docker build -t nginx:v1 .
-t nginx:v1:指定鏡像的名稱和版本。
.:指定Dockerfile所在目錄,鏡像構(gòu)建命令將該路徑下所有的內(nèi)容打包給容器引擎幫助構(gòu)建鏡像。
執(zhí)行以下命令,可查看到已成功部署的nginx鏡像,版本為v1。
docker images
制作鏡像壓縮包
本節(jié)指導(dǎo)您將容器鏡像制作成tar或tar.gz文件壓縮包。
以root用戶登錄容器引擎所在機器。
執(zhí)行如下命令查看鏡像。
docker images
查看需要導(dǎo)出的鏡像及tag。
執(zhí)行如下命令制作鏡像壓縮包。
docker save [OPTIONS] IMAGE [IMAGE...]
說明:OPTIONS:--output或-o,表示導(dǎo)出到文件。
壓縮包格式為:.tar或.tar.gz。
使用docker save制作鏡像壓縮包時,請用{image}:{tag},不要用image id,否則無法在swr頁面上傳。
示例:
$ docker save nginx:latest > nginx.tar
$ ls -sh nginx.tar
108M nginx.tar
$ docker save php:5-apache > php.tar.gz
$ ls -sh php.tar.gz
372M php.tar.gz
$ docker save --output nginx.tar nginx
$ ls -sh nginx.tar
108M nginx.tar
$ docker save -o nginx-all.tar nginx # 將nginx所有版本打包
$ docker save -o nginx-latest.tar nginx:latest
導(dǎo)入鏡像文件
本章節(jié)將指導(dǎo)你通過docker load命令將鏡像壓縮包導(dǎo)入為一個鏡像。
執(zhí)行方式有2種:
docker load < 路徑/文件名.tar
docker load --input或者-i 路徑/文件名.tar
示例:
$ docker load --input fedora.tar
容器鏡像上傳下載常見問題
精選文章推薦
更多相關(guān)文章精選推薦,帶您了解更多華為云產(chǎn)品