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容器中,特抽时间把我的 ...
随机推荐
- bootstrap注意事项(二)
1.内联子标题 在标题内还可以包含 <small> 标签或赋予 .small 类的元素,可以用来标记副标题. <!DOCTYPE html> <html> < ...
- linux查看端口占用
今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用. 使用命令: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程. 使用命令:netstat ...
- js访问 xmldom
加载XML文档: var xmlDom = new ActiveXObject("MSXML2.DOMDocument"); xmlDom.load("file ...
- leetcode Combination Sum python
Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C wher ...
- Android 6.0 以及HttpClient
Android 6.0 SDK,API Level 是 23.更新之后,就可以修改 compileSdkVersion 和targetSdkVersion 到 23 体验新的特性了. 同时 Andro ...
- PHP设计模式之单例模式(数据库访问)
1.什么是单例模式? 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例.它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用. 2.单例模式的 ...
- JavaScript 你好!
JavaScript简介 开发时间:1995年 开发目的:一开始的目的是处理以前由服务器端语言(如perl)负责的一些输入验证操作. 现状:现在的用途不再局限于简单的数据验证,而是具备了与浏览器窗口及 ...
- genToken- Php file
<?php public function genToken($len = 32, $md5 = true) { # Seed random number generator # Only ne ...
- Eric6 右键点击生产对话框代码报错
问题没有解决,属于菜鸟级别的孩子~~~~ 求助啊,求助!!!!!! 报告如下: Warning:An unhandled exception occurred. Please report the p ...
- MVC自学第四课
处理表单 前面的列子我们已经把表单提交给了HomeControllers类中的RsvpForm动作方法,只是在这个动作方法内,我们并没有做什么具体的逻辑处理,而是直接返回一个 “Thanks”的视图. ...