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的更多相关文章

  1. docker:(2)通过Dockerfile构建镜像并发布web项目

    上一篇讲解了docker的基本使用 http://www.cnblogs.com/xiaochangwei/p/8204511.html 虽然通过修改获取到的镜像可以达到使用目的,但是多操作几次就会发 ...

  2. 如何用Dockerfile创建镜像

    本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p/5181222.html 创建镜像的目的 首先说DockerHub或其它一些镜像仓库已经提供了够多的镜像,有 ...

  3. Dockerfile初探

    git上的asp.net samples工程已经写好了docker file,内容是如下   //任何dockersfile都要以FORM开头,约定是用大写. FROM microsoft/aspne ...

  4. ubuntu 16.04 Dockerfile 安装mysql

    默认上MariaDB的包并没有在Ubuntu仓库中.要安装MariaDB,我们首先要设置MariaDB仓库. 配置MariaDB 仓库 # apt-get install software-prope ...

  5. 分析Mysql 5.6的Dockerfile

    Docker官方的Mysql镜像的Dockerfile托管在Github上,地址如下: https://github.com/docker-library/mysql/tree/5836bc9af9d ...

  6. 利用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 ...

  7. Docker dockerfile创建Eclipse镜像初试

    抽空初步阅读了Docker技术入门与实战 [Kindle电子书] http://www.cnblogs.com/2018/p/4600116.html 现在想首先在开发环境下引入统一的环境,由于开发中 ...

  8. 安装Nginx的Dockerfile实例

    #################################################Dockerfile to build Nginx Installed Containers##Bas ...

  9. 测试dockerfile

    测试dockerfile是否ok(比如我的Dockerfile在deploy目录下) docker build -t my_image -f deploy/Dockerfile . docker im ...

随机推荐

  1. Spark的Monitoring

    一.启动历史页面监控配置: $ vi spark-defaults.conf spark.eventLog.enabled true spark.eventLog.dir hdfs://hadoop0 ...

  2. hive的metatable学习

    一.存储Hive版本的元数据表(VERSION)   二.Hive数据库相关的元数据表(DBS.DATABASE_PARAMS) DBS --存储Hive中所有数据库的基本信息   DATAB ...

  3. docker系列(四):数据卷

    1 引言 容器就相当于一个简易的操作系统,我们在上面部署我们的环境,不可避免地产生一些数据,但是,可能由于断电等等原因,容器退出了,那么之前容器中的数据就不符存在,则往往不是我们想要的,更多的,我们是 ...

  4. nginx 配置实例-负载均衡

    1.实现效果 (1)浏览器地址栏输入地址 http://www.123.com/edu/a.html,负载均衡效果,平均 8080 和 8081 端口中 2.准备工作 (1)准备两台 tomcat 服 ...

  5. Eclipse修改JSP文件的默认编码

    Eclipse新建JSP文件,可以看到默认使用的是ISO-8859-1编码,如下图,而这种编码是无法保存中文的,不符合我们的需求 那么应该怎样修改呢?找到菜单Window-Preferences,找到 ...

  6. jmeter从上一个请求使用正则表达式抓取Set-Cookie值,在下一个请求中运用

    工作中遇到的问题,登录请求,返回的Response Headers中有个参数Set-Cookie,需要抓取这个参数,运用到下一个请求中,见下图: 通过正则表达式抓取Set-Cookie的值,由于该值存 ...

  7. C++ 模板特化、偏特化测试程序

    #include <iostream> // 偏特化的模板不会自己添加构造函数 ctor 和 析构函数 dtor #if 1 // P1 template <typename T1, ...

  8. Python str & repr

    Python str & repr repr 更多是用来配合 eval 的 (<- 点击查看),str 更多是用来转换成字符串格式的 str() & repr() str() 和 ...

  9. Eureka注册中心的自我保护模式

    如果在Eureka Server的首页看到以下这段提示,则说明Eureka已经进入了保护模式. EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTAN ...

  10. resharper 8.2

    用户名:ronle注册码:ZoJzmeVBoAv9Sskw76emgksMMFiLn4NM