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 是一个文本格式的配置文件, 用 ...
随机推荐
- zendstudio 设置默认编码 utf-8 gbk
1.Project > Properties > Resource 2.Window > Preferences > General > Workspace 3.Wind ...
- Go RabbitMQ 工作队列 (二)
rabbitMQ工作队列 在之前内容中我们通过一个队列实现了消息的发送跟接收.接下来我们创建工作队列(Work Queue),用于在多个工作者之间分配耗时的任务 工作队列(任务队列)背后的核心主要是避 ...
- 在css当中使用opacity
background:rgba(0,0,0,0.5);会使背景变透明:opacity会让内容也变透明
- JavaScript ES6 Symbol.hasInstance的理解。
Symbol.hasInstance 本案例是结合阮一峰老师的ECMAScript 6 入门丛书进一步的详细介绍,和对Symbol.hasInstance的理解.本着互联网的精神,分享给大家. 对象的 ...
- Virtualbox/Vagrant安装
它们分别是什么? VirtualBox: 号称是最强的免费虚拟机软件和VM类似. 不仅具有丰富的特色,而且性能也很优异. Vagrant: 是一个基于Ruby的工具,用于创建和部署虚拟化开发环境. 使 ...
- flush table with read lock的轻量级解决方案
为什么要使用FTWRL MySQL dba在日常工作中,数据备份绝对是工作频度最高的工作内容之一.当你使用逻辑方式进行备份(mydumper,mysqldump)或物理方式进行备份(percona ...
- 禁止选中页面内容-兼容ie、firefox、chrome
使用js禁止用户选中网页上的内容,IE及Chrome下的方法一样.使用onselectstart, 比如: 在body中加入<body onselectstart="return fa ...
- C#对Windows服务组的启动与停止
Windows服务大家都不陌生,Windows服务组的概念,貌似MS并没有这个说法. 作为一名软件开发者,我们的机器上安装有各种开发工具,伴随着各种相关服务. Visual Studio可以不打开,S ...
- Oracle数据库基本操作 (五) —— 使用java调用存储过程
一.环境准备 登录Oracle数据库scott账号,利用emp进行操作. 1.创建 proc_getyearsal 存储过程 -- 获取指定员工年薪 create or replace procedu ...
- Python Django ORM基本增删改查
工程下的urls.py中增加如下: from cmdb import views as cmdb #要把你要操作的项目import进来 urlpatterns = [ url(r'orm', cmdb ...