020.Dockerfile
docker-cli读取Dockerfile,根据指令生成定制的docker镜像。
Dockerfile的指令根据作用可以分为两种,构建指令和设置指令。
构建指令:用于构建image,其指定的操作不会在运行image的容器上执行;
设置指令:用于设置image的属性,其指定的操作将在运行image的容器中执行。
1.构建指令
FROM
MAINTAINER
WORKDIR
RUN
ENV
ADD
COPY
VOLUME
2.设置指令
CMD
ENTRYPOINT
USER
EXPOSE
Dockerfile示例
## Dockerfile的指令是忽略大小写的,建议使用大写,使用 # 作为注释,每一行只支持一条指令,每条指令可以携带多个参数。
FROM ubuntu:13.10
MAINTAINER zing wang "zing.jian.wang@gmail.com" RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe"> /etc/apt/sources.list
RUN apt-get update
RUN apt-get -y install curl
RUN cd /tmp && curl -L 'http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.tar.gz' -H 'Cookie: oraclelicense=accept-securebackup-cookie; gpw_e24=Dockerfile' | tar -xz
RUN mkdir -p /usr/lib/jvm
RUN mv /tmp/jdk1..0_65/ /usr/lib/jvm/java--oracle/
RUN update-alternatives --install /usr/bin/java java /usr/lib/jvm/java--oracle/bin/java
RUN update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java--oracle/bin/javac ENV JAVA_HOME /usr/lib/jvm/java--oracle/
RUN cd /tmp && curl -L 'http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.8/bin/apache-tomcat-7.0.8.tar.gz' | tar -xz
RUN mv /tmp/apache-tomcat-7.0./ /opt/tomcat7/ ENV CATALINA_HOME /opt/tomcat7
ENV PATH $PATH:$CATALINA_HOME/bin ADD tomcat7.sh /etc/init.d/tomcat7
RUN chmod /etc/init.d/tomcat7 EXPOSE ENTRYPOINT service tomcat7 start && tail -f /opt/tomcat7/logs/catalina.out
From .xxx.xxx.xxx:/openjdk8-apline-ssh:v0.
WORKDIR /app
COPY app.jar /app/app.jar
RUN chown -R : /app && chmod -R /app && mkdir /app/config && chown -R : /app/config && chmod -R /app/config
EXPOSE
ENTRYPOINT java -jar /app/app.jar
USER :
使用Dockerfile构建docker镜像
#在Dockerfile所有目录下
docker build -t xxx:xxx:xxx:xxx:/demo:v0. .
参考:
https://blog.csdn.net/qinyushuang/article/details/43342553
https://blog.csdn.net/qq_28710983/article/details/80964519
020.Dockerfile的更多相关文章
- docker:(2)通过Dockerfile构建镜像并发布web项目
上一篇讲解了docker的基本使用 http://www.cnblogs.com/xiaochangwei/p/8204511.html 虽然通过修改获取到的镜像可以达到使用目的,但是多操作几次就会发 ...
- 如何用Dockerfile创建镜像
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p/5181222.html 创建镜像的目的 首先说DockerHub或其它一些镜像仓库已经提供了够多的镜像,有 ...
- Dockerfile初探
git上的asp.net samples工程已经写好了docker file,内容是如下 //任何dockersfile都要以FORM开头,约定是用大写. FROM microsoft/aspne ...
- ubuntu 16.04 Dockerfile 安装mysql
默认上MariaDB的包并没有在Ubuntu仓库中.要安装MariaDB,我们首先要设置MariaDB仓库. 配置MariaDB 仓库 # apt-get install software-prope ...
- 分析Mysql 5.6的Dockerfile
Docker官方的Mysql镜像的Dockerfile托管在Github上,地址如下: https://github.com/docker-library/mysql/tree/5836bc9af9d ...
- 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像
Dockerfile内容如下: FROM centos MAINTAINER Victor ivictor@foxmail.com WORKDIR /root RUN rm -f /etc/yum.r ...
- Docker dockerfile创建Eclipse镜像初试
抽空初步阅读了Docker技术入门与实战 [Kindle电子书] http://www.cnblogs.com/2018/p/4600116.html 现在想首先在开发环境下引入统一的环境,由于开发中 ...
- 安装Nginx的Dockerfile实例
#################################################Dockerfile to build Nginx Installed Containers##Bas ...
- 测试dockerfile
测试dockerfile是否ok(比如我的Dockerfile在deploy目录下) docker build -t my_image -f deploy/Dockerfile . docker im ...
随机推荐
- 13. 抽象类 & 接口
一.抽象类 // 抽象类Shape public abstract class Shape { // 1. 成员变量 private String color; // 2. 初始化块 { System ...
- Python高级特性之:List Comprehensions、Generator、Dictionary and set ...
今天帅气的易哥和大家分享的是Pyton的高级特性,希望大家能和我一起学习这门语言的魅力. Python高级特性之:List Comprehensions.Generator.Dictionary an ...
- Html学习之十(CSS选择器的使用--伪类选择器)
伪类选择器 一.基于a标签. 1.:hover 选择鼠标滑过的超链接元素 2.:active 选择鼠标单击中的超链接元素 3.:link 选择未被访问的超链接元素 4.:visited 选择已经被访问 ...
- python3.5.3rc1学习六:画图
# 可以设置颜色,g代表green, r代表red,y代表yellow,b代表blue# linewidth = 5,设置线条粗细 # label 设置线条名称 ##plt.plot(x,y,'b', ...
- Python 可执行对象
Python 可执行对象 eval/repr eval eval 可以执行字符串类型的表达式 (或 compile() 创建的代码对象(code object) ) 并返回执行结果 eval(expr ...
- Jike_Time-决策树
根节点 非叶子节点(决策点) 叶子节点(决策结果) 分支 熵代表混乱程度 信息增益 构造树的基本想法是随着树深度的增加.节点的熵迅速地降低.熵降低的速度越快越好,这样我们有望得到一颗高度最矮的决策树 ...
- AtCoder Grand Contest 036
Preface 这篇已经鸽了好久的说,AGC037都打完了才回来补所以题目可能都记不大清楚了,如有错误请指正 这场感觉难度远高于上一场,从D开始就不会了,E没写(看了题解都不会写),F就是抄曲明姐姐的 ...
- TreeMap 原理
基于jdk1.8 TreeMap第一个想到的就是有序,当然也不是线程安全 TreeMap实现NavigableMap接口,说明支持一系列的导航方法 一.构造方法 public TreeMap() { ...
- C# 原子操作理解
C#内置提供的原子操作 Interlocked.Increment:以原子操作的形式递增指定变量的值并存储结果. Interlocked.Decrement:以原子操作的形式递减指定变量的值并存储结果 ...
- Pytorch数据类型转换
Pytorch数据类型转换 载入模块生成数据 import torch import numpy as np a_numpy = np.array([1,2,3]) Numpy转换为Tensor a_ ...