全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

KCE-如何制作容器镜像

最近更新时间:2026-05-12 14:49:36

背景信息

容器镜像是容器技术的核心组成部分,它包含了运行一个应用程序所需的所有内容,包括代码、运行时环境、系统工具、系统库等。本文档将详细介绍如何制作一个简单的容器镜像。

准备工作:安装Docker

Docker是目前最流行的容器化平台,金山云将使用Docker来制作和管理容器镜像。以下是在不同操作系统上安装Docker的基本步骤:

Ubuntu

  1. 更新系统包列表

sudo apt-get update
  1. 安装必要的依赖包

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  1. 添加Docker的官方GPG密钥

curl -fsSL [Docker官方GPG密钥下载地址](https://download.docker.com/linux/ubuntu/gpg) | sudo apt-key add -
  1. 添加Docker的APT仓库

sudo add-apt-repository "deb [arch=amd64] [Docker的APT仓库](https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable)"
  1. 更新系统包列表

sudo apt-get update
  1. 安装Docker CE

sudo apt-get install docker-ce

CentOS

  1. 安装必要的依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 添加Docker的YUM仓库

sudo yum-config-manager --add-repo [Docker的YUM仓库](https://download.docker.com/linux/centos/docker-ce.repo)
  1. 安装Docker CE

sudo yum install docker-ce

操作步骤

本实践以CentOS系统为例,制作一个具有http功能的容器镜像,针对制作的镜像可以正常访问http功能。

步骤一:运行容器

执行如下操作,运行一个容器,后续操作将针对该容器进行制作。

root@vm10-0-249-178:~# docker run -itd --privileged centos_new /sbin/init
root@vm10-0-249-178:~# docker ps
CONTAINER ID   IMAGE     COMMAND              CREATED         STATUS         PORTS                  NAMES
52edb2b575ae  centos_new    "/sbin/init"      2 minutes ago  Up 2 minutes                      nice_dewdney

步骤二:修改容器内容

  1. 查看是否有正在运行的 centos 容器。

root@vm10-0-249-178:~# docker ps
CONTAINER ID   IMAGE     COMMAND              CREATED          STATUS          PORTS                  NAMES
52edb2b575ae   centos    "/sbin/init"         11 minutes ago   Up 11 minutes                     ice_dewdney
  1. 进入容器。

root@vm10-0-249-178:~# docker exec -it 52edb2b575ae /bin/bash
  1. 安装 httpd 并使用 systemctl 启动 httpd

dnf install httpd -y
systemctl start httpd
systemctl enable httpd
  1. 执行 curl 127.0.0.1:80 进行测试。

  2. 修改网页内容并测试。

[root@52edb2b575ae /]# echo kingsoft > /var/www/html/index.html
[root@52edb2b575ae /]# curl 127.0.0.1:80
kingsoft

步骤三:将容器保存为镜像

  1. 确认已配置完成的容器。

root@vm10-0-249-178:~# docker ps   #这个centos已经配置完成http要保存成http镜像
CONTAINER ID   IMAGE     COMMAND              CREATED          STATUS          PORTS                  NAMES
52edb2b575ae   centos    "/sbin/init"         58 minutes ago   Up 58 minutes                    nice_dewdney
  1. 使用 docker commit 命令将容器保存为镜像。

root@vm10-0-249-178:~# docker commit nice_dewdney http
  1. 查看新生成的镜像。

root@vm10-0-249-178:~# docker images #commit完成后查看容器保存成镜像了
REPOSITORY                                           TAG       IMAGE ID       CREATED          SIZE
http                                                 latest    bf1f4a364167   24 seconds ago   280MB

步骤四:验证制作的容器

  1. 使用制作的 http 镜像创建新容器。

root@vm10-0-249-178:~# docker run -itd -p 8080:80 --privileged http /sbin/init
root@vm10-0-249-178:~# docker ps
CONTAINER ID   IMAGE    COMMAND        CREATED         STATUS       PORTS                   NAMES
8082e6f19c1c   http  "/sbin/init"  3 seconds ago   Up 3 seconds   0.0.0.0:8080->80/tcp     eloquent_dubinsky
  1. 测试是否可以访问。

root@vm10-0-249-178:~# curl 127.0.0.1:8080
kingsoft
  1. 重启容器后再次测试。

root@vm10-0-249-178:~# docker restart 8082e6f19c1c
# 再次测试
root@vm10-0-249-178:~# curl 127.0.0.1:8080
kingsoft

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈