Docker(三) 构建镜像

 镜像基础参数


# 注释

FROM 指定源镜像 ->FROM cnetos:7

RUN 构建时在镜像中执行的命令 -> RUN mkdir /opt/jdk

COPY/ADD 复制,会自动创建不存在的目录 -> COPY ./dist /code/dist

WORKDIR 用于指定工作目录 -> WORKDIR /code

CMD 启动脚本 -> CMD ["nginx", "./config.sh"] 

 DockerFile Sample

#镜像
FROM daocloud.io/centos:7
 
#创建者
MAINTAINER xxxx
 
#工作目录
WORKDIR /root
 
#在/opt/下创建jdk目录,用来存放jdk文件
RUN mkdir /opt/jdk
#在/opt/下创建tomcat目录,用来存放tomcat
RUN 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/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值