简单的一批的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
成功

相关文章
|
2月前
|
Go API 数据库
腾讯WeKnora 架构学习指南
《WeKnora架构学习指南》系统解析了这一腾讯开源的智能知识库项目,涵盖核心架构、技术栈、代码结构与学习路径。通过生活化类比和深度流程图解,帮助开发者从零掌握Go后端、Vue前端、RAG原理及微服务协同,提供四阶段进阶路线与实战建议,助力快速上手并参与贡献。
480 3
|
消息中间件 Java 测试技术
SpringBoot整合RabbitMQ图文过程以及RabbitTemplate常用API介绍
SpringBoot整合RabbitMQ图文过程以及RabbitTemplate常用API介绍
602 0
|
3月前
|
机器学习/深度学习 数据采集 人工智能
Tongyi DeepResearch的技术报告探秘
引言阿里通义实验室悄悄(其实动静不小)发布了一个叫 Tongyi DeepResearch 的 Agent 项目。它没有开发布会,没请明星站台,甚至没发通稿——但它在 GitHub 上架当天,就登顶了“每日趋势榜”。这速度,比人类发现…
606 2
Tongyi DeepResearch的技术报告探秘
|
安全 Shell 网络安全
|
7月前
|
Linux 虚拟化
AlmaLinux 10 - RHEL 二进制兼容免费发行版
AlmaLinux 10 - RHEL 二进制兼容免费发行版
331 8
AlmaLinux 10 - RHEL 二进制兼容免费发行版
|
SQL 存储 关系型数据库
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
854 0
|
弹性计算 关系型数据库 MySQL
离线安装MySQL5.7和MySQL8.0
【4月更文挑战第30天】
194 1
|
Linux
linux查看服务器带宽
linux查看服务器带宽
195 0
|
存储 NoSQL Java
Spring Boot中的会话管理
Spring Boot中的会话管理
|
Web App开发 前端开发 Java
解决新版chrome跨域问题:cookie丢失以及samesite属性问题
解决新版chrome跨域问题:cookie丢失以及samesite属性问题
1913 0
解决新版chrome跨域问题:cookie丢失以及samesite属性问题

热门文章

最新文章