容器引擎基础知识-九游平台
容器引擎是kubernetes最重要的组件之一,负责管理镜像和容器的生命周期。可以轻松地为任何应用创建一个轻量级的、可移植的、自给自足的容器。
swr当前支持docker和containerd两种容器引擎。下文以docker容器引擎为例简单介绍容器引擎的安装和镜像文件的制作。
安装前的准备工作
在安装容器引擎前,请了解容器引擎的基础知识,具体请参见。
选择容器引擎的版本
容器引擎几乎支持在所有操作系统上安装,用户可以根据需要选择要安装的容器引擎版本,具体请参见。

- 容器镜像的存储可以使用容器镜像服务(swr),由于swr支持docker容器引擎 1.11.2(包含)到24.0.9(包含)版本上传镜像,建议下载对应版本。
- 安装容器引擎需要连接互联网,内网服务器需要绑定弹性公网ip后才能访问。
安装容器引擎
您可以根据自己的操作系统选择对应的安装步骤:
- linux操作系统下安装
在linux操作系统下,可以使用如下命令快速安装docker的最新稳定版本。如果您想安装其他特定版本的docker,可参考。
curl -fssl get.docker.com -o get-docker.sh sh get-docker.sh sudo systemctl daemon-reload sudo systemctl restart docker
- euleros操作系统下安装
在euleros操作系统下,安装容器引擎的方法如下:
- 登录弹性云服务器。
- 配置yum源。
如果您的机器上还没有配置yum源,可以参照如下方法配置:如果已配置,可跳过该步骤。
- 安装并运行容器引擎。
- 获取yum源里的docker-engine包。
yum search docker-engine
- 使用yum install -y命令安装上一步获取的docker-engine包,x86架构示例:
yum install docker-engine.x86_64 -y
- 设置开机启动docker服务。
systemctl enable docker
- 启动docker。
systemctl start docker
- 获取yum源里的docker-engine包。
- 检查安装结果。
docker --version
回显如下类似信息,表示容器引擎安装成功。
docker version 18.09.0, build 384e3e9
制作容器镜像
本节指导您通过dockerfile定制一个简单的web应用程序的容器镜像。dockerfile是一个文本文件,其内包含了一条条的指令(instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
使用nginx镜像创建容器应用,在浏览器访问时则会看到默认的nginx欢迎页面,本节以nginx镜像为例,修改nginx镜像的欢迎页面,定制一个新的镜像,将欢迎页面改为“hello, swr!”。
- 以root用户登录容器引擎所在机器。
- 创建一个名为dockerfile的文件。
mkdir mynginx
cd mynginx
touch dockerfile
- 编辑dockerfile。
vim dockerfile
增加文件内容如下:
from nginx run echo '' > /usr/share/nginx/html/index.html
dockerfile指令介绍如下。
- from语句:表示使用nginx镜像作为基础镜像,一个dockerfile中from是必备的指令,并且必须是第一条指令。
- run语句:格式为run <命令>,表示执行echo命令,在显示器中显示一段“hello, swr!”的文字。
按“esc”,输入:wq,保存并退出。
- 使用docker build [选项] <上下文路径> 构建镜像。
docker build -t nginx:v1 .
- -t nginx:v1:指定镜像的名称和版本。
- .:指定dockerfile所在目录,镜像构建命令将该路径下所有的内容打包给容器引擎帮助构建镜像。
- 执行以下命令,可查看到已成功部署的nginx镜像,版本为v1。
docker images
制作镜像压缩包
本节指导您将容器镜像制作成tar或tar.gz文件压缩包。
- 以root用户登录容器引擎所在机器。
- 执行如下命令查看镜像。
docker images
查看需要导出的镜像及tag。
- 执行如下命令制作镜像压缩包。
docker save [options] image [image...]
options:--output或-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
导入镜像文件
本章节将指导您通过docker load命令将镜像压缩包导入为一个镜像。
执行方式有2种:
docker load < 路径/文件名.tar
docker load --input或者-i 路径/文件名.tar
示例:
$ docker load --input fedora.tar
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨