DockeFile实战——创建自己的Centos镜像

简介: Docker Hub中99%镜像都是从这个基础镜像过来的FROM scratch,然后配置需要的软件和配置来进行的构建。

Docker Hub中99%镜像都是从这个基础镜像过来的FROM scratch,然后配置需要的软件和配置来进行的构建。

天天学习真累!

image.png

1️⃣Docker Hub中的Centos7为例

FROM scratch
ADD centos-7-x86_64-docker.tar.xz /
LABEL \
    org.label-schema.schema-version="1.0" \
    org.label-schema.name="CentOS Base Image" \
    org.label-schema.vendor="CentOS" \
    org.label-schema.license="GPLv2" \
    org.label-schema.build-date="20201113" \
    org.opencontainers.image.title="CentOS Base Image" \
    org.opencontainers.image.vendor="CentOS" \
    org.opencontainers.image.licenses="GPL-2.0-only" \
    org.opencontainers.image.created="2020-11-13 00:00:00+00:00"
CMD ["/bin/bash"]

官方的Centos镜像是一个轻量级的镜像,里面的命令都用不了

ifconfig、vim都找不到命令

image.png

2️⃣我们创建一个属于自己的Centos

1、编写DockerFile文件

FROM centos
MAINTAINER  libai<net_libai@163.com>  #创建者的信息
ENV MYPATH /usr/local                 #环境变量
WORKDIR $MYPATH                       #工作目录
RUN yum -y install vim 
RUN yum -y install net-tools
EXPOSE 80                             #暴露端口
CMD echo $MYPATH
CMD echo "--------end-------"
CMD /bin/bash

2、通过DockerFile文件构建mycentos镜像

docker build -f mycentos -t mycentos:0.1 .

docker build -f dockerfile文件路径 -t 镜像名:[tag] .

最好就配置Docker镜像加速不然下载加载东西就太慢了

image.png

3、测试运行

ifconfig、vim命令都可以用了

image.png

image.png

3️⃣对比:之前的原生的centos

原生的centos是轻量级的镜像很多命令都用不了。

自己写的mycentos镜像可以随意添加命令。

4️⃣查看镜像的变更过程

docker history centos

image.png

相关文章
|
2月前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
249 80
|
2月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
307 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
2月前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
125 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
2月前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
97 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
2月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
107 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
3月前
|
缓存 运维 Linux
深入解析:一步步掌握 CentOS 7 安装全流程及运维实战技巧
深入解析:一步步掌握 CentOS 7 安装全流程及运维实战技巧
|
3月前
|
Java Linux Docker
CentOS7 Docker 安装,配置国内镜像
CentOS7 Docker 安装,配置国内镜像
756 2
|
3月前
|
关系型数据库 MySQL Linux
【一键解锁神秘力量!】CentOS 7 通过编译源码方式安装 MySQL 数据库 —— 从零到英雄的数据库安装实战秘籍!
【8月更文挑战第9天】随着业务增长,对数据库的需求日益提高。在 CentOS 7 中,通过编译源码安装 MySQL 可提供更高定制性和灵活性。本文详细介绍从准备环境、下载源码、配置编译参数到安装 MySQL 的全过程,并对比 RPM 包安装方法,帮助读者根据需求选择合适方案。实践时需注意备份数据、选择合适版本、确保安全性和调优性能等要点。
195 1
|
3月前
|
存储 监控 Linux
【一键解锁神秘力量!】CentOS 7 磁盘分区与挂载终极指南 —— 从零到英雄的磁盘管理实战秘籍!
【8月更文挑战第9天】随着业务扩展和技术进步,服务器硬盘容量需求增加。本文通过实例介绍如何在CentOS 7中管理大容量硬盘(如1TB)。首先确认未使用的硬盘(如`/dev/sdb`),然后使用`fdisk`创建分区(一个200GB的日志分区和一个剩余空间的用户文件分区)。接着使用`mkfs.ext4`格式化分区,并创建挂载点(如`/mnt/log`和`/mnt/userfiles`)。最后,通过修改`/etc/fstab`实现分区的永久挂载。注意事项包括备份数据、合理规划分区以及定期监控磁盘使用情况等。这些步骤有助于高效管理和利用磁盘空间。
250 1
|
3月前
|
Ubuntu Linux 测试技术
下载ISO镜像的方法 Debian、Red Hat 、CentOS、Ubuntu、Kali Linux🌐
Debian、Red Hat、CentOS、Ubuntu与Kali Linux均为知名Linux发行版。下载Debian须访问官网并按计算机架构选ISO文件。Red Hat下载通常需订阅账户,可从官网登录后获取。CentOS可从官网或镜像站点下载,注意CentOS 8已停更。Ubuntu下载简便,官网直接选取版本及架构即可。Kali Linux专为安全测试设计,官网提供直接下载ISO镜像服务。
559 0