一、前提
已完成Docker安装。
二、步骤
制作镜像有两种方法。一种是通过Dockerfile,还有一种是进入基础镜像之后安装软件,再提交镜像。
1、Dockefile
第一种如下,先写Dockerfile,注意文件名(文件名就是Dockerfile,无后缀)。
因为网络问题,JDK我是下载好,放置在Linux系统本地的。
FROM ubuntu:20.04
MAINTAINER yourname [email protected]
RUN apt-get update
RUN apt-get autoclean
WORKDIR /usr/local/java
ADD jdk-8u281-linux-x64.tar.gz /usr/local/java/
ENV JAVA_HOME=/usr/local/java/jdk-8u281
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
#CMD ["java","-version"]
CMD ["/bin/bash"]
[root@localhost docker]# docker build -t first.image ./
Sending build context to Docker daemon 143.7MB
Step 1/10 : FROM ubuntu:20.04
---> f643c72bc252
Step 2/10 : MAINTAINER kun.yang [email protected]
---> Using cache
---> 8b43c91c0065
Step 3/10 : RUN apt-get update
---> Using cache
---> 866b9c92200a
Step 4/10 : RUN apt-get autoclean
---> Using cache
---> 58344d7b6a01
Step 5/10 : WORKDIR /usr/local/java
---> Using cache
---> ecbe347fabd5
Step 6/10 : ADD jdk-8u281-linux-x64.tar.gz /usr/local/java/
---> Using cache
---> 656334f782de
Step 7/10 : ENV JAVA_HOME=/usr/local/java/jdk-8u281
---> Using cache
---> 97f37ee00706
Step 8/10 : ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
---> Using cache
---> a4a5ee738baa
Step 9/10 : ENV PATH=$JAVA_HOME/bin:$PATH
---> Using cache
---> a742dc0e969b
Step 10/10 : CMD ["/bin/bash"]
---> Running in b77a600ea2f5
Removing intermediate container b77a600ea2f5
---> 7150758d3c72
Successfully built 7150758d3c72
Successfully tagged first.image:latest
[root@localhost docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
first.image latest 7150758d3c72 8 seconds ago 429MB
calico/pod2daemon-flexvol v3.18.0 2a22066e9588 2 days ago 21.7MB
calico/node v3.18.0 5a7c4970fbc2 10 days ago 172MB
calico/cni v3.18.0 727de170e4ce 10 days ago 131MB
calico/kube-controllers v3.18.0 9a154323fbf7 10 days ago 53.4MB
registry.aliyuncs.com/google_containers/kube-proxy v1.20.4 c29e6c583067 2 weeks ago 118MB
registry.aliyuncs.com/google_containers/kube-apiserver v1.20.4 ae5eb22e4a9d 2 weeks ago 122MB
registry.aliyuncs.com/google_containers/kube-controller-manager v1.20.4 0a41a1414c53 2 weeks ago 116MB
registry.aliyuncs.com/google_containers/kube-scheduler v1.20.4 5f8cb769bd73 2 weeks ago 47.3MB
kubernetesui/dashboard v2.2.0 5c4ee6ca42ce 2 weeks ago 225MB
ubuntu 20.04 f643c72bc252 3 months ago 72.9MB
ubuntu latest f643c72bc252 3 months ago 72.9MB
kubernetesui/metrics-scraper v1.0.6 48d79e554db6 4 months ago 34.5MB
registry.aliyuncs.com/google_containers/etcd 3.4.13-0 0369cf4303ff 6 months ago 253MB
registry.aliyuncs.com/google_containers/coredns 1.7.0 bfe3a36ebd25 8 months ago 45.2MB
registry.aliyuncs.com/google_containers/pause 3.2 80d28bedfe5d 12 months ago 683kB
[root@localhost docker]#