栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Dockerfile保留字以及构建镜像

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Dockerfile保留字以及构建镜像

1、保留字

FROM 基础镜像    #以基础镜像作为模板

RUN shell格式或exec格式的命令(yum install net-tool)   #在构建build时会执行

EXPOSE #暴露端口映射

WORKDIR   #指定登录终端的落脚点

ENV   #设置环境变量

VOLUME  #容器卷

ADD #将宿主机的文件拷贝到镜像并解压

COPY #将宿主机的文件拷贝到镜像

CMD #指定容器启动后要干的事,只能最后一个CMD生效,
#CMD会被docker run后面的参数替换(例如执行tomcat使用-it加bash等于CMD["bash","run"])就把CMD["catalina.sh","run"]替代了
#CMD是在docker run的时候执行

ENTRYPOINT #	类似于CMD指令,但是ENTRYPOINT不会被docker run后面的命令覆盖,而且这些命令行参数会被当作参数送给ENTRYPOINT指令指定的程序

#当指定了ENTRYPOINT,CMD不再作为命令执行,而是作为ENTRYPOINT的传递参数.
ENTRYPOINT["nginx","-c"]#定参
CMD["/etc/nginx/nginx.conf"]#传参

#如果没有传参则按照dockerfile执行
#docker命令 	docker run nginx:test - 传参 docker run nginx:test -c /etc/nginx/newconf.conf
#实际命令 nginx -c /etc/nginx/nginx.conf - 传参 nginx -c /etc/nginx/newconf.conf

2、案例
centos镜像具备jdk8和vim以及ifconfig

1、在根目录新建一个myfile,放入jdk-8u333-linux-i586.tar.gz

2、编写makefile

FROM centos:7
MAINTAINER test

ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN yum -y install vim #安装vim
RUN yum -y install net-tools  #安装ifconfig
RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
ADD jdk-8u333-linux-i586.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_333
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt. jar: $JAVA_HOME/lib/tools. jar: $JRE_HOME/lib: $CLASSPATHENV 
ENV PATH $JAVA_HOME/bin: $PATH

CMD echo $MYPATH
CMD echo  "success..ok"
CMD /bin/bash

3、构建

docker build -t 新镜像的名字:tag Dockerfile路径
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/973377.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号