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容器中,特抽时间把我的 ...
随机推荐
- 第一章ASP.NET SignalR简介
第一章ASP.NET SignalR简介 1.1概述: ASP.NET SignalR是微软新开发的类库,为的是帮助ASP.NET开发人员很方便地开发实时网络功能. SignalR允许服务器端和客户端 ...
- js清空页面控件值
function funClear() {var txts = document.getElementsByTagName("input");for (var i = 0; i & ...
- “entities.LastOrDefault()”引发了类型“System.NotSupportedException”的异常
问题: var entities = new ShipuPlanBLO().UserList(userId, beginDate, endDate); DateTime maxDate = entit ...
- Java代码整理
- 【codevs】2776寻找代表元
题目描述 Description 广州二中苏元实验学校一共有n个社团,分别用1到n编号.广州二中苏元实验学校一共有m个人,分别用1到m编号.每个人可以参加一个或多个社团,也可以不参加任何社团.每个社团 ...
- C++中将int转变成string和string转变成int
int to string #include<iostream> #include<string> using namespace std; int main() { stri ...
- Java学习之javassist
1.读取和输出字节码 ClassPool pool = ClassPool.getDefault(); //会从classpath中查询该类 CtClass cc = pool.get("t ...
- Extjs springmvc session 超时 处理
如果你的项目使用ExtJS作为表现层,你会发现,SESSION超时控制将是一个问题.本文将就自己的经验,来解决这一问题,当然,解决问题并非只有一种方法,我只是提出我的方法.首先,做超时控制,必需使用过 ...
- mysql登录错误或者密码错误
一.mysql登录错误 mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root ...
- 防抖(Debouncing)和节流(Throttling)
onscoll防抖封装函数 scroll 事件本身会触发页面的重新渲染,同时 scroll 事件的 handler 又会被高频度的触发, 因此事件的 handler 内部不应该有复杂操作,例如 DOM ...