简单的一批的DockerFile构建

简介: 从应用软件的角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件的三个不同阶段,* Dockerfile是软件的原材料* Docker镜像是软件的交付品* Docker容器则可以认为是软件镜像的运行态,也即依照镜像运行的容器实例Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石。

1 Dockerfile,需要定义一个Dockerfile,Dockerfile定义了进程需要的一切东西。Dockerfile涉及的内容包括执行代码或者是文件、环境变量、依赖包、运行时环境、动态链接库、操作系统的发行版、服务进程和内核进程(当应用进程需要和系统服务和内核进程打交道,这时需要考虑如何设计namespace的权限控制)等等;

2 Docker镜像,在用Dockerfile定义一个文件之后,docker build时会产生一个Docker镜像,当运行 Docker镜像时会真正开始提供服务;

3 Docker容器,容器是直接提供服务的。

DockerFile常用保留字指令
图片.png
图片.png
图片.png
演示自定义构建java8版本centos

首先拉取centos,注意这里使用centos7版本进行测试,centos8版本与7版本差异较大
图片.png
创建文件夹myfile并在此文件夹内上传jdk8文件压缩包
图片.png
编写写Dockerfile
图片.png
图片.png
FROM centos:7
MAINTAINER wutian

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-8u181-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置

ADD jdk-8u181-linux-x64.tar.gz /usr/local/java/

配置java环境变量

ENV JAVA_HOME /usr/local/java/jdk1.8.0_181
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
开始构建
图片.png
图片.png
测试:
图片.png
测试vim和ifconfig以及java8命令
图片.png
图片.png
成功

相关文章
|
10月前
|
缓存 Docker 容器
50-Docker-多阶段构建和镜像瘦身
50-Docker-多阶段构建和镜像瘦身
|
7月前
|
物联网 Go 开发者
《Docker多阶段构建:优化镜像构建过程,高效部署应用的利器》
《Docker多阶段构建:优化镜像构建过程,高效部署应用的利器》
74 0
|
10月前
|
存储 缓存 Java
多阶段构建:Docker 下如何实现镜像多阶级构建?
我们知道 Docker 镜像是分层的,并且每一层镜像都会额外占用存储空间,一个 Docker 镜像层数越多,这个镜像占用的存储空间则会越多。
115 0
|
12月前
|
Shell Linux 开发工具
一文简单了解并构建Dockerfile
一文简单了解并构建Dockerfile
171 0
|
测试技术 Docker 索引
Dockerfile-多阶段构建(3)
Dockerfile-多阶段构建(3)
|
Go 开发工具
Dockerfile-多阶段构建(2)
Dockerfile-多阶段构建(2)
113 0
|
Shell Go 容器
Dockerfile-多阶段构建(1)
Dockerfile-多阶段构建(1)
215 0
|
存储 关系型数据库 MySQL
Dockerfile命令及实践构建一个网站
dockerfile用于构建docker镜像的,部署一个用于运行你所需的容器环境。相当一个脚本,通过dockerfile自己的指令,来构建软件依赖、文件依赖、存储、 定制docker镜像的方式有两种: 手动修改容器内容,导出新的镜像 基于Dockerfile自行编写指令,基于指令流程创建镜像。
110 0
|
Shell Go Docker
docker的多阶段构建
docker的多阶段构建
147 0
docker的多阶段构建
|
Docker 微服务 容器
构建Docker镜像——多阶段构建
构建Docker镜像——多阶段构建
134 0