本文共 1204 字,大约阅读时间需要 4 分钟。
镜像基础参数
# 注释FROM 指定源镜像 ->FROM cnetos:7RUN 构建时在镜像中执行的命令 -> RUN mkdir /opt/jdkCOPY/ADD 复制,会自动创建不存在的目录 -> COPY ./dist /code/distWORKDIR 用于指定工作目录 -> WORKDIR /codeCMD 启动脚本 -> CMD ["nginx", "./config.sh"]
DockerFile Sample
#镜像FROM daocloud.io/centos:7 #创建者MAINTAINER xxxx #工作目录WORKDIR /root #在/opt/下创建jdk目录,用来存放jdk文件RUN mkdir /opt/jdk#在/opt/下创建tomcat目录,用来存放tomcatRUN mkdir /opt/tomcat #将宿主机的jdk目录下的文件拷至镜像的/opt/jdk目录下COPY jdk1.8.0_191 /opt/jdk/#将宿主机的tomcat目录下的文件拷至镜像的/opt/tomcat目录下COPY apache-tomcat-8.5.32 /opt/tomcat/vim #设置环境变量 linux中 环境变量用:分割 /xxx/bin:$PATH $PATH即应用原有环境变量内容 :$PATH 是 #:进行分割的意思ENV JAVA_HOME=/opt/jdkENV JRE_HOME=$JAVA_HOME/jreENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATHENV PATH=/sbin:$JAVA_HOME/bin:$PATH #公开端口 EXPOSE的作用:只是说明docker容器开放了哪些端口,并没有将这些端口实际开放了出来!#更多的作用是告诉运维人员或容器操作人员我开放了容器的哪些端口,只是一种说明。#第二种作用:#Dockerfile中声明了EXPOSE端口之后,我们使用-P命令进行随机映射的时候,会映射到#EXPOSE声明的端口。EXPOSE 8080 #设置启动命令ENTRYPOINT ["/opt/tomcat/bin/catalina.sh","run"]
构建镜像
#后面的.代表的是相对路径的当前目录,如果需要全路径则为/root/docker_demo(就是找到Dockerfile文件)docker build -t centos . #最后有一个.用来指定构建镜像时的目录为本机当前目录docker images #查看本机存储的镜像
#运行容器 映射容器8080 至 宿主机 7001端口docker run -p 7001:8080 --name web centos
转载地址:http://qdyws.baihongyu.com/