DockerFile简介以及使用
DockerFile是用来构建docker镜像的构建文件,是有一系列命令和参数构成的脚本
构建的三步骤:编写dockerfile文件→build构建→docker run
dockerfile保留字指令:
FROM:当前新镜像是基于那镜像
MAINTAINER:镜像作者
RUN:容器需要运行的命令
EXPOSE:对外端口号
WORKDIR:指定终端进入的工作目录
ENV:设置环境变量
ADD:将宿主机目录下的文件拷贝进镜像,ADD命令会自动处理URL和解压压缩包
COPY:将宿主机目录下的文件拷贝进镜像
VOLUME:容器数据卷
CMD:指定一个容器运行时要运行的文件(可以有很多CMD命令,但只有最后一个生效)
ENTRYPOINT:指定一个容器运行时要运行的文件
OMBUILD:构建一个被继承的dockerfile时运行命令,父镜像在子镜像继承之后,父镜像onbuild被cufa触发
案例1:(配置tomcat)# vim dockerfile
FEOM centos // 基于centos镜像
MAINTAINER WU-WU // 作者信息:wu-wu
ENV mypath /usr/local // 自定义环境变量
WORKDIR /usr //定义工作目录
COPY jkd-8u171-linux-×86.tar.gz /usr/local // 添加jdk×86到/usr/loca
ADD jkd-8u171-linux-×64.tar.gz /usr/local // 添加并解压jdk×64到/usr/local
ADD apache-tomcat-9.0.6.tar.gz /usr/local // 添加并解压tomcat到/usr/local
# 配置java与tomcat的环境变量
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CLASS_HOME /usr/local/apache-tomcat-9.0.6
ENV CLASS_BASE /usr/local/apache-tomcat-9.0.6
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
VOLUME ["/mydata1","/mydata2","/mydata3"] //加入三个容器卷
RUN yum -y instatll vim // 安装vim组件
RUN yun -y install net-tool // 安装网络组件
EXPOSE 9999 // 监听端口
CMD bin/bash
构建:# docker -f /home/dockerfile -t centos_tomcat . // -f:需要带当前路径
# docker -t centos_tomcat . //-t:当前路径
DockerFile简介以及使用的更多相关文章
- dockerfile简介及书写规则
Dockerfile 简介 Dockfile是一种被Docker程序解释的脚本, Dockerfile由一条一条的指令组成,每条指 ...
- Dockerfile简介及基于centos7的jdk镜像制作
Dockerfile简介 dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像, 另外,使用Dockerfile去构建镜像好比使用pom去构建m ...
- ubuntu-docker入门到放弃(七)Dockerfile简介
一.dockerfile基本结构 最简单的理解就是dockerfile实际上是一些命令的堆叠,有点像最基础的shell脚本,没有if 没有for,就是串行的一堆命令. 一般而言,dockerfile分 ...
- 使用Dockerfile制作自己的Docker镜像
一.背景 一直以来的开发流程都是先从Docker Hub中获取到基础镜像,之后在这个镜像的基础上做开发,以满足一定的需求或者提供某种服务,并由此产生新的镜像,然后就可以push到Docker Hub中 ...
- Docker 核心技术之Dockerfile
Dockerfile 简介 什么是Dockerfile Dockerfile其实就是根据特定的语法格式撰写出来的一个普通的文本文件 利用docker build命令依次执行在Dockerfile中定义 ...
- Docker之使用Dockerfile创建定制化镜像(四)--技术流ken
前言 在之前的博客<Docker端口映射及创建镜像演示(二)--技术流ken>,演示了如何使用一个现有容器创建一个镜像,以及镜像在阿里云的上传和下载. 但是这样的镜像有很大的局限性,不能根 ...
- Dockerfile介绍及指令详情
Dockerfile简介: 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么哪些无法重复的问题.镜 ...
- Dockerfile制作镜像
Dockerfile简介 dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像, 另外,使用Dockerfile去构建镜像好比使用pom去构建m ...
- Dockerfile介绍、Docker制作jdk镜像
Dockerfile介绍.Docker制作jdk镜像 目标 1.Dockerfile简介 2.Docker制作jdk镜像 Dockerfile简介 dockerfile 是一个文本格式的配置文件, 用 ...
随机推荐
- 数学还勉强管用,用代码还能画个canvas 仪表盘(含完整代码)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- html转图片,java库cssbox
引入依赖包 <dependency> <groupId>net.sf.cssbox</groupId> <artifactId>cssbox</a ...
- Javac的命令(注解相关)
1.-Akey[=value] Options to pass to annotation processors. These are not interpreted by javac directl ...
- ThreadPoolExecutor 异常
通过execute提交的任务,能将该任务抛出的异常交给未捕获异常处理器处理,而通过submit提交的任务,无论是抛出的未检查异常还是已检查异常,都将被认为是任务返回状态的一部分.如果一个由submit ...
- java class load 类加载
1:what is it jvm把描述类的数据从class字节码文件加载到内存,并对数据进行校验.解析.初始化,最终成为jvm直接使用的数据类型 1.ClassNotFoundExcetpion ...
- js 页面间的通信
看了一下公司原来的代码,原页面ajax post返回一个页面完整的HTML,然后再打开一个新页面并输出ajax返回的所有代码到新页面上,在新页面上以表单提交的形式实现重定向. 任凭我想了半天也没想出来 ...
- 《Think Python》第15章学习笔记
目录 <Think Python>第15章学习笔记 15.1 程序员定义的类型(Programmer-defined types) 15.2 属性(Attributes) 15.3 矩形( ...
- var、let、const的区别,以及作用范围。
在es5中一般经常使用的变量有两个级别,一个是用var声明的全局级别的变量,另外一个是函数级别是用var生命在函数内的.本文中将详细讲解我对es6中的const和let的区别. let的使用以及作用范 ...
- 十一、信号量控制Semaphore
一.简介 有时候我们需要对一个资源的访问做线程数控制,以防雪崩等问题. JDK中,信号量可以处理这样的问题:Semaphore JDK文档:http://tool.oschina.net/upload ...
- php 函数的嵌套
/*一定要小心变量作用域*/ function insert_dynamic() { function bar() { echo "I don't exist until insert_dy ...