Dockerfile
http://blog.csdn.net/jiashiwen/article/details/48806243 一:如何使用:
docker build -t 命名空间/images名
FROM <image>FROM <image>:<tag>
RUN <command>(the command is run in a shell - `/bin/sh -c`)RUN ["executable","param1","param2" ...](exec form)
MAINTAINER <name>
CMD ["executable","param1","param2"](like an exec,this is the preferred form)CMD command param1 param2 (as a shell)
CMD ["param1","param2"](as default parameters to ENTRYPOINT)
ENTRYPOINT ["executable","param1","param2"](like an exec,the preferred form)ENTRYPOINT command param1 param2 (as a shell)
#CMD不会执行,只有ENTRYPOINT指令会被执行CMD echo "hello world"ENTRYPOINT ls -l
FROM ubuntuCMD ["-l"]ENTRYPOINT ["/usr/bin/ls"]
ENTRYPOINT["mecached"]USER daemon或ENTRYPOINT ["memcached","-u","daemon"]
EXPOSE <port>[<port>...]#映射一个端口EXPOSE port1#相应的运行容器使用的命令docker run -p port1 image#映射多个端口EXPOST port1 port2 port3#相应的运行容器使用的命令docker run -p port1 -p port2 -p port3 image#还可以指定需要映射到宿主机器上某个端口号docker run -p host_port1:port1 -p host_port2:port2 -p host_port3:port3 image
docker run -d -p 127.0.0.1:: image
ENV LANG en_US.UTF-ENV LC_ALL en_US.UTF-
ADD <src> <dest>
VOLUME ["<mountpoint>"]FORM baseVOLUME ["/tmp/data"]
docker run -it -rm -volumes-from container1 image2 bash
WORKDIR /path/to/workdir#在/p1/p2下执行 vim a.txtWORKDIR /p1 WORKDIR p2 RUN vim a.txt
ONBUILD <Dockerfile关键字>
#pull base imageFROM ubuntu:13.10MAINTAINER test "test@gmail.com"#update sourceRUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.listRUN apt-get update#Install curlRUN apt-get install -y curl#install JDK 7RUN 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 -xzRUN mkdir -p /usr/lib/jvmRUN mv /tmp/jdk1.7.0_65/ /usr/lib/jvm/java--oracle/# Set Oracle JDK 7 as default JavaRUN update-alternatives --install /usr/bin/java java /usr/lib/jvm/java--oracle/bin/javaRUN update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java--oracle/bin/javacENV JAVA_HOME /usr/lib/jvm/java--oracle#Install tomcat7RUN cd /tmp && curl -L 'http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.8/bin/apache-tomcat-7.0.8.tar.gz' | tar -xzRUN mv /tmp/apache-tomcat-7.0./ /opt/tomcat7/ENV CATALINA_HOME /opt/tomcat7ENV PATH $PATH:$CATALINA_HOME/binADD tomcat7.sh /etc/init.d/tomcat7RUN chomd /etc/init.d/tomcat7#Expose portsEXPOSE#define default commandENTRYPOINT service tomcat7 start && tail -f /opt/tomcat7/logs/catalina.out
export JAVA_HOME=/usr/lib/jvm/java--oracle/export TOMCAT_HOME=/opt/tomcat7case $1 instart)sh $TOMCAT_HOME/bin/startup.sh;;stop)sh $TOMCAT_HOME/bin/shutdown.sh;;restart)sh $TOMCAT_HOME/bin/shutdown.shsh $TOMCAT_HOME/bin/startup.sh;;esacexit
有关docker部署php环境主参考 : http://blog.csdn.net/jiashiwen/article/details/48806243 (文章相当详细)
Dockerfile的更多相关文章
- 如何用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 ...
- 通过Dockerfile建立.NET Core mvc Image
生成.NET core mvc code docker run -itd microsoft/dotnet:latestdocker psdocker attach containeridmkdir ...
- .Net Core+cenos7+Docker+Dockerfile 部署实践
因为这段时间比较忙,同时也在抽时间将开发框架转移到 .net Core 上 所以写博客的时间就少了,这次我利用dockerfile成功将.net Core程序部署到了cenos7容器中,特抽时间把我的 ...
随机推荐
- php 实现二进制加法运算
php实现二进制加法: 思路:没有工作中应用过此场景,但十进制的加法还是经常做的,能不能用十进制加法变相实现呢? 答案是可以的,并且php也提供进制间转换的函数,我的实现使用了 bindec():二进 ...
- IIS Express中如何配置支持json
今天在使用i18next的时候,由于要加载一个json的文件,但是在vs2013中一直加载不成功呢,经过上网查资料得知原来要配置iis express才能支持json文件的加载. 文件的默认位置在:C ...
- C-JAVA 论坛
http://www.cnblogs.com/lpjia/ JAVA黑马 http://java.itheima.com/java/service/javacourse.shtml
- gui组件
//guI; graphics user interfaceimport javax.swing.*;import java.awt.*; public class Main { public sta ...
- Jexus下配置多个站点
一.在jexus中一个配置文件就是一个站点,有多少个配置文件就可以创建多少个站点 配置文件所在的位置 在siteconf中有一个最基本的配置 default ##################### ...
- Eclipse开发工具学习之道:用Eclipse生成jar文件
很多人都不知道怎么在Eclipse下生成jar文件,或者生成了jar文件后又老是用不了,总是会收到 Exception in thread "main" java.lang.NoC ...
- GoF——组合模式
组合模式:将对象组合成树形结构以表示“部分-真题”的结构层次.组合模式使得用户对单个对象和组合对象的使用具有一致性. 结构图: using System; using System.Collectio ...
- ListView的简单使用和性能优化
起源:ListView是Android开发中使用最广泛的一种控件,它以垂直列表的形式显示所有列表项. 创建ListView有两种方式: ☆ 直接使用ListView进行创建. ☆让Activity继承 ...
- 郁闷的Delphi新闻
Embarcadero closes down their spanish R&D office putting some 80 people on the street and dimini ...
- Robot Framework作者建议如何选择自动化测试框架
本文摘自:InfoQ中文站http://www.infoq.com/cn/news/2012/06/robot-author-suggest-autotest Robot Framework作者建议如 ...