0
点赞
收藏
分享

微信扫一扫

通过Dockerfile制作一个自己的Docker专属镜像文件

7dcac6528821 2022-03-30 阅读 76
docker

通过Dockerfile制作一个自己的Docker专属镜像文件

内容目录


如何制作一个属于自己的镜像呢?

docker安装的centos都是基础的linux,没有vim,没有ifconfig,也没有java,如果需要一个镜像,pull过来之后就带有这些功能,那么就可以自己制作一个属于自己的镜像。

如果制作属于自己的镜像,可以又两种方式,一个是在镜像容器中操作之后,通过commit提交镜像,生成新的镜像文件,另一个就是使用Dockerfile文件,通过build构建得到新的镜像文件。毫无疑问,通过commit一点都不搞基,所以需要Dockerfile文件了

一、开始前准备

首先要下载到jdk的tar包,放到一个文件夹中,因为在安装镜像安装jdk的时候会用到,然后在这个文件夹中编写Dockerfile文件

编写Dockerfile,必然需要知道语法

Dockerfile保留字命令

FROM:基础镜像,当前新镜像是基于哪个镜像的,指定一个已经存在的镜像作为模板,第一条必须是from

MAINTAINER:镜像维护者的姓名和邮箱地址

RUN:容器构建时需要运行的命令

WORKDIR:指定在创建容器后,终端默认登陆的进来工作目录,一个落脚点

ENV:用来在构建镜像过程中设置环境变量

CMD:指定容器启动后的要干的事情

ADD:将宿主机目录下的文件拷贝进镜像且会自动处理URL和解压tar压缩包

二、编写Dockerfile文件构建镜像

1、编写Dockerfile文件

 #继承centos
 FROM centos:7
 MAINTAINER leon<leon@126.com> 
 
 #进入容器的落脚点
 ENV MYPATH /usr/local
 WORKDIR $MYPATH 
 
 #安装vim编辑器
 RUN yum -y install vim
 #安装ifconfig命令查看网络IP
 RUN yum -y install net-tools
 #安装java8及lib库
 RUN yum -y install glibc.i686
 RUN mkdir /usr/local/java
 #ADD 是相对路径jar,把jdk-8u212-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置
 ADD jdk-8u212-linux-x64.tar.gz /usr/local/java/
 #配置java环境变量
 ENV JAVA_HOME /usr/local/java/jdk1.8.0_212
 ENV JRE_HOME $JAVA_HOME/jre
 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
 ENV PATH $JAVA_HOME/bin:$PATH 
 
 EXPOSE 80 
 
 CMD echo $MYPATH
 CMD echo "success--------------ok"
 CMD /bin/bash 

2、构建镜像

docker build -t newcentos:1.0 .

在这里插入图片描述

3、运行

docker run -it newcentos:1.0

三、测试新镜像文件

运行容器进入之后

分别使用vim、ifconfig、java尝试一下

vim:可用
在这里插入图片描述

ifconfig:可用
在这里插入图片描述

java:可用
在这里插入图片描述

举报

相关推荐

0 条评论