`

从头创建一个最小的CentOS Docker镜像

 
阅读更多

一、从头创建一个CentOS的基础框架

首先安装好CentOS7,并在上面安装Docker,然后执行:

# /usr/local/bin/supermin --prepare yum -o supermin.d
# /usr/local/bin/supermin --build --format chroot supermin.d -o appliance.d

# cd appliance.d
# mv usr/share/locale/en usr/share/locale/en_US tmp
# rm -rf usr/share/locale/*
# mv tmp/en tmp/en_US usr/share/locale/
# mv usr/share/i18n/locales/en_US tmp
# rm -rf usr/share/i18n/locales/*
# mv tmp/en_US usr/share/i18n/locales/
# echo 7 > etc/yum/vars/releasever
# cd ..

# tar --numeric-owner -cpf centos7-zero.tar -C appliance.d .
# cat centos7-zero.tar | docker import - local/centos7-zero

 

 

二、安装必要的组件,完成一个最小的CentOS7镜像

在主机上执行:

# docker run -i -t local/centos7-zero /bin/bash

在container中执行:

# yum update -y
# yum install -y audit-libs basesystem bash binutils bzip2-libs ca-certificates centos-release chkconfig coreutils cpio cracklib cracklib-dicts curl cyrus-sasl-lib dbus-libs device-mapper device-mapper-libs diffutils elfutils-libelf expat fakesystemd file file-libs filesystem findutils gawk gdbm glib2 glibc glibc-common gmp gnupg2 gpgme grep groff-base gzip hardlink info iproute iptables iptables-services iputils keyutils-libs kmod-libs kpartx krb5-libs less libacl libassuan libattr libblkid libcap libcap-ng libcom_err libcroco libcurl libdb libdb-utils libffi libgcc libgcrypt libgomp libgpg-error libidn libmnl libmount libnetfilter_conntrack libnfnetlink libpwquality libselinux libsemanage libsepol libssh2 libstdc++ libtasn1 libunistring libuser libutempter libuuid libverto libxml2 lua ncurses ncurses-base ncurses-libs nspr nss nss-softokn nss-softokn-freebl nss-sysinit nss-tools nss-util openldap openssl-libs p11-kit p11-kit-trust pam pcre pinentry pkgconfig popt procps-ng pth pygpgme pyliblzma python python-iniparse python-libs python-pycurl python-urlgrabber pyxattr readline rootfiles rpm rpm-build-libs rpm-libs rpm-python sed setup shadow-utils shared-mime-info sqlite systemd-libs tzdata ustr util-linux vim-minimal which xz xz-libs yum yum-metadata-parser yum-plugin-fastestmirror zlib
# yum update -y && yum clean all
# exit

 

在主机上执行:

# docker export <container_id> > centos7-minimal.tar

 

分享到:
评论

相关推荐

    ollama+openwebui docker 镜像

    在介绍ollama+openwebui Docker镜像的构建和运行过程中,我们首先要了解Docker技术的基础知识,以及如何通过Dockerfile定义一个镜像,并最终通过命令行运行它。Docker作为一种轻量级的虚拟化技术,它允许开发者打包...

    docker,docker资源,docker错误处理方法,在 CentOS 7 使用 Dockerfile 创建 docker 镜像的时候错误处理方法 docker 错误:invalid argume

    每执行完一条指令,Docker 会创建一个新的镜像层,用户可以利用这些层来进行版本控制和镜像共享。 在构建 Docker 镜像时,正确的编写 Dockerfile 是关键。Dockerfile 是一个文本文件,包含了所有用户构建 Docker ...

    该项目使用FFmpeg准备了一个极简主义Docker镜像。它按照编译指南中的说明

    极简主义Docker镜像是一个轻量级的、最小化的镜像,它仅包含运行应用程序所需的最基本组件。这样设计的目的是为了减少镜像的大小,加快容器的启动速度,并提高安全性。因为镜像中不包含不必要的软件和工具,所以也...

    grafana docker镜像 8.5.27版本

    由于 Docker 镜像是独立的,一旦创建之后,用户可以通过简单的命令快速启动一个预配置好的 Grafana 实例,而无需从头开始安装 Grafana 及其依赖库。 使用 Docker 部署 Grafana 的好处包括: 1. 环境一致性:Docker...

    xuperchain-docker镜像源

    Docker 是一种开源的应用容器引擎,能够让开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何支持 Docker 的平台上。Docker 容器可以在多种操作系统中运行,并保证环境的一致性,极大地简化了...

    slam开发docker镜像源

    通过Docker镜像,可以将所有的这些配置打包成一个轻量级、可移植的镜像文件,这样开发者无需从头开始安装和配置环境,只需要下载相应的Docker镜像,就可以在自己的开发机上快速搭建起一个与原始环境一致的开发环境。...

    dockurr-windows.tar dockurr/windows docker镜像

    在当前的内容中,我们提及了一个特定的Docker镜像文件,名为"dockurr-windows.tar",这个文件中包含了一个为Windows系统定制的Docker镜像,名为"dockurr/windows"。这个镜像可能是一个为Windows环境优化过的预配置...

    Docker镜像的Heroku​项目Heroku-Docker.zip

    这个简单的小项目拿来现有的Heroku应用程序后,可以从命令行将其转换成Docker镜像,执行整个操作只需要几个命令就行。示例代码:$ heroku docker:build -a myapp Sending build context to Docker daemon...

    Docker拉取镜像的完整步骤

    1. docker pull 拉取镜像 使用 $ docker pull {IMAGE_...一个 Docker 镜像分为很多层,如果本地存在该层,则不会再次拉取。 IMAGE_NAME 第一个斜杠之前没有域名标识 Docker 会将 IMAGE_NAME 拼接为 docker.io/IMAGE

    局域网部署Docker-从无到有创建自己的Docker私有仓库.docx

    其次,需要从文件系统创建一个镜像。创建镜像有多种方法,但是在国内环境下,使用 pull 命令拉取镜像可能会遇到困难。因此,使用 OpenVZ 模板来创建镜像是非常实用的选择。 OpenVZ 模板提供了多种操作系统的模板,...

    k8s1.28.2 docker镜像 包含网络插件 calico 3.28.1

    在本例中,提及的“k8s1.28.2 docker镜像 包含网络插件 calico 3.28.1”指的是一个集成了Kubernetes版本1.28.2和Calico网络插件版本3.28.1的Docker镜像。这个镜像提供了一个基础环境,允许用户快速部署一个具备完整...

    docker-redis:latest镜像

    本文将详细介绍Docker镜像中较为常见的redis:latest镜像,这是一种基于Redis的Docker镜像,它是Redis数据库的容器化应用形式,允许用户在Docker容器内快速部署和运行Redis服务。Redis是一个开源的高性能键值存储...

    Docker bitnami/kafka:3.9.0 镜像资源包

    但可以确定的是,一个完整的Docker镜像资源包通常包含了所有必要的配置文件、脚本和程序二进制文件,以确保用户可以通过简单的Docker命令快速启动并运行Kafka服务。 随着容器化技术的不断成熟和在生产环境中的广泛...

    docker,docker资源,包括:Docker的应用场景,Docker 的优点,Docker 是一个用于开发,交付和运行应用程序的开放平台

    Docker是一个开源的应用容器引擎,它允许开发者将应用及其依赖包打包到一个可移植的容器中,然后在任何支持Docker的机器上运行,实现快速开发、测试和部署。Docker提供了轻量级的虚拟化解决方案,可以让不同的应用...

    狂神 Docker学习笔记 超详细从开始到进阶到补充

    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更...

    image-tests:docker-exec 镜像的测试套件

    几个参数被传递给图像,程序应该接收这些参数并将它们打印在一个新行上,保留空格。 它的输出是: a a b a b c x y z 舍邦去除 这将测试包含调用dexec的 shebang 行的源文件dexec会被删除。 它只是 'hello world...

    docker-beaglebone-black-node:用于 Node 开发的 BeagleBone Black Docker 镜像

    稍后我可能会按照这些从头开始创建图像。 构建和推送镜像 vagrant up vagrant ssh docker build . -t strictlybusiness/beaglebone-black-node docker push strictlybusiness/beaglebone-black-node 使用图片 镜像...

    Python_准备运行包含Jupyter应用程序的Docker映像.zip

    Docker镜像就像是一个模板,用来创建容器的实例。每个容器都是从镜像创建出来的,它们都是相互隔离的、可执行的包,包含了运行应用程序所需的一切:代码、运行时环境、库、环境变量以及配置文件。而Python应用程序,...

    mcr.microsoft.com/dotnet/core/runtime:3.1

    标签“docker”表明这是一个Docker镜像,Docker是一个开源的应用容器引擎,让开发者可以打包应用以及应用的依赖包到一个可移植的容器中,然后发布到任何支持Docker的平台上。开发者可以使用这个镜像快速地在本地或...

    虚拟化--docker.ctb

    • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。 • 容器(Container):镜像(Image)和容器...

Global site tag (gtag.js) - Google Analytics