安裝前的準(zhǔn)備工作
在安裝容器引擎前,請(qǐng)了解容器引擎的基礎(chǔ)知識(shí),具體請(qǐng)參見Docker Documentation。
選擇容器引擎的版本
容器引擎幾乎支持在所有操作系統(tǒng)上安裝,用戶可以根據(jù)需要選擇要安裝的容器引擎版本,具體請(qǐng)參見https://docs.docker.com/engine/install/。
說明:由于SWR支持容器引擎1.11.2及以上版本上傳鏡像,建議下載對(duì)應(yīng)版本。
安裝容器引擎需要連接互聯(lián)網(wǎng),內(nèi)網(wǎng)服務(wù)器需要綁定彈性公網(wǎng)IP后才能訪問。
安裝容器引擎
你可以根據(jù)自己的操作系統(tǒng)選擇對(duì)應(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源。
如果您的機(jī)器上還沒有配置yum源,可以參照如下方法配置:如何使用自動(dòng)化工具配置華為云鏡像源(x86_64和ARM)?如果已配置,可跳過該步驟。
安裝并運(yùn)行容器引擎。
獲取yum源里的docker-engine包。
yum search docker-engine
使用yum install -y命令安裝上一步獲取的docker-engine包,x86架構(gòu)示例:
yum install docker-engine.x86_64 -y
設(shè)置開機(jī)啟動(dòng)Docker服務(wù)。
systemctl enable docker
啟動(dòng)Docker。
systemctl start docker
檢查安裝結(jié)果。
docker --version
回顯如下類似信息,表示容器引擎安裝成功。
Docker version 18.09.0, build 384e3e9
制作容器鏡像
本節(jié)指導(dǎo)您通過Dockerfile定制一個(gè)簡(jiǎn)單的Web應(yīng)用程序的容器鏡像。Dockerfile是一個(gè)文本文件,其內(nèi)包含了一條條的指令(Instruction),每一條指令構(gòu)建一層,因此每一條指令的內(nèi)容,就是描述該層應(yīng)當(dāng)如何構(gòu)建。
使用Nginx鏡像創(chuàng)建容器應(yīng)用,在瀏覽器訪問時(shí)則會(huì)看到默認(rèn)的Nginx歡迎頁(yè)面,本節(jié)以Nginx鏡像為例,修改Nginx鏡像的歡迎頁(yè)面,定制一個(gè)新的鏡像,將歡迎頁(yè)面改為“Hello, SWR!”。
以root用戶登錄容器引擎所在機(jī)器。
創(chuàng)建一個(gè)名為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語(yǔ)句:表示使用nginx鏡像作為基礎(chǔ)鏡像,一個(gè)Dockerfile中FROM是必備的指令,并且必須是第一條指令。
RUN語(yǔ)句:格式為RUN <命令>,表示執(zhí)行echo命令,在顯示器中顯示一段“Hello, SWR!”的文字。
按“Esc”,輸入:wq,保存并退出。
使用docker build [選項(xiàng)] <上下文路徑> 構(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用戶登錄容器引擎所在機(jī)器。
執(zhí)行如下命令查看鏡像。
docker images
查看需要導(dǎo)出的鏡像及tag。
執(zhí)行如下命令制作鏡像壓縮包。
docker save [OPTIONS] IMAGE [IMAGE...]
說明:OPTIONS:--output或-o,表示導(dǎo)出到文件。
壓縮包格式為:.tar或.tar.gz。
使用docker save制作鏡像壓縮包時(shí),請(qǐng)用{image}:{tag},不要用image id,否則無法在swr頁(yè)面上傳。
示例:
$ 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)入為一個(gè)鏡像。
執(zhí)行方式有2種:
docker load < 路徑/文件名.tar
docker load --input或者-i 路徑/文件名.tar
示例:
$ docker load --input fedora.tar