DockerFile自定义centos镜像+虚悬镜像+Ubuntu镜像

目录

一、自定义镜像mycentosjava8,要求Centos7镜像具备vim+ifconfig+jdk8

[1、拉取centos镜像,下载javaJKD小柒博客 | 开源软件镜像站](#1、拉取centos镜像,下载javaJKD小柒博客 | 开源软件镜像站)

2、编写Dockerfile文件(首字母大写)

3、构建

4、运行

[二、虚悬镜像 ,仓库名、标签都是的镜像,俗称dangling image](#二、虚悬镜像 ,仓库名、标签都是的镜像,俗称dangling image)

1、构建一个虚悬镜像

2、只查看虚悬镜像

3、虚悬镜像已经失去存在价值,可以删除

三、自定义myubuntu镜像

1、编写,准备编写Dockerfile文件

[2、构建docker build -t 新镜像名字:TAG .](#2、构建docker build -t 新镜像名字:TAG .)

[3、运行docker run -it 新镜像名字:TAG](#3、运行docker run -it 新镜像名字:TAG)


一、自定义镜像mycentosjava8,要求Centos7镜像具备vim+ifconfig+jdk8

1、拉取centos镜像,下载javaJKD小柒博客 | 开源软件镜像站

bash 复制代码
docker  pull centos

2、编写Dockerfile文件(首字母大写)

bash 复制代码
mkdir myfile
mv jdk-8u191-linux-x64.tar.gz myfile/
cd myfile
vim Dockerfile

FROM centos:7
MAINTAINER licq<licq5427@163.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-8u171-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置
ADD jdk-8u191-linux-x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_191
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

3、构建

bash 复制代码
#docker build -t 新镜像名字:TAG .
docker build -t centosjava8:1.5 .   #上面TAG后面有个空格,有个点

4、运行

bash 复制代码
docker images
REPOSITORY                                                    TAG       IMAGE ID       CREATED          SIZE
centosjava8                                                   1.5       1e11fa486f29   24 minutes ago   1.37GB


docker run -it 1e11fa486f29

二、虚悬镜像 ,仓库名、标签都是<none>的镜像,俗称dangling image

1、构建一个虚悬镜像

bash 复制代码
mkdir test
cd  test/
vim Dockerfile

FROM ubuntu
CMD echo'action is success'

2、只查看虚悬镜像

bash 复制代码
docker image ls -f dangling=true
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
<none>       <none>    629492e652de   2 years ago   72.8MB

3、虚悬镜像已经失去存在价值,可以删除

bash 复制代码
docker image prune

WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:629492e652de4feaa824ce5ee7cf85ccd45166c7c4efe5dd82710d616240261b

Total reclaimed space: 0B

再次查询,发现就没有虚悬镜像了。

三、自定义myubuntu镜像

1、编写,准备编写Dockerfile文件

bash 复制代码
mkdir myubuntu
cd myubuntu/

vim Dockerfile

FROM ubuntu
MAINTAINER licq<licq5427@126.com>
 
ENV MYPATH /usr/local
WORKDIR $MYPATH
 
RUN apt-get update
RUN apt-get install net-tools
RUN apt-get install -y iproute2
RUN apt-get install -y inetutils-ping
 
EXPOSE 80
 
CMD echo $MYPATH
CMD echo "install inconfig cmd into ubuntu success--------------ok"
CMD /bin/bash

2、构建docker build -t 新镜像名字:TAG .

bash 复制代码
docker build -t myubuntu:1.5 .

3、运行docker run -it 新镜像名字:TAG

bash 复制代码
docker run -it myubuntu:1.5 
相关推荐
co0t5 分钟前
计算机网络(14)ip地址超详解
服务器·tcp/ip·计算机网络
C++忠实粉丝5 分钟前
计算机网络socket编程(3)_UDP网络编程实现简单聊天室
linux·网络·c++·网络协议·计算机网络·udp
淡水猫.11 分钟前
Fakelocation Server服务器/专业版 ubuntu
运维·服务器·ubuntu
wenyue112117 分钟前
Ease Monitor 会把基础层,中间件层的监控数据和服务的监控数据打通,从总体的视角提供监控分析
运维·中间件·监控
量子网络24 分钟前
debian 如何进入root
linux·服务器·debian
时光の尘27 分钟前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
我们的五年31 分钟前
【Linux课程学习】:进程描述---PCB(Process Control Block)
linux·运维·c++
运维老司机1 小时前
Jenkins修改LOGO
运维·自动化·jenkins
D-海漠1 小时前
基础自动化系统的特点
运维·自动化
我言秋日胜春朝★1 小时前
【Linux】进程地址空间
linux·运维·服务器