栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

dockerfile的基本使用

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

dockerfile的基本使用

Docker Dockerfile

Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。执行dockerfile指令如下,建议把文件放在同一个目录下:

docker build -t centosjava8:1.5 .

dockerfile文件的命名一般为Dockerfile,其中有许多注意事项、都写在文件中:

FROM   			--基础镜像,当前新镜像是基于哪个镜像的,指定一个已经存在的镜像作为模板,
MAINTAINER   	--作者名字,联系方式
RUN      		--<命令行命令>等同于,在终端操作的shell命令。
WORKDIR			--指定在创建容器后,终端默认登陆的进来工作目录,一个落脚点
ADD				--将宿主机目录下的文件拷贝进镜像且会自动处理URL和解压tar压缩包
ENV				--用来在构建镜像过程中设置环境变量
EXPOSE			--当前容器对外暴露的端口
CMD				--指定容器启动后的要干的事情,Dockerfile 中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换

以下是一个实例:

FROM centos             
MAINTAINER zzq<1216678132@qq.com>   
ENV MYPATH /usr/local
WORKDIR $MYPATH   
RUN yum -y install vim    
RUN yum -y install net-tools
RUN yum -y install glibc.i686
RUN mkdir /usr/local/java 
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java   
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171    
ENV JAVA_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
EXPOSE 80    
CMD echo $MYPATH   
CMD echo "success--------------ok"
CMD /bin/bash

仓库名、标签都是的镜像,俗称dangling image叫做虚悬镜像。

 docker images ls -f dangling=true  --查看虚悬镜像
 
 docker image prune 				--删除虚悬镜像

dockerfile运行微服务,文件配置 ,首先要把项目打成jar包,然后传到Linux服务器上,把项目放到dockerfile同一个文件目录下,然后执行操作,文件如下:

#基础镜像使用java
FROM java:8
#作者
MAINTAINER zzq
#VOLUME指定临时文件目录为/tmp,在主机/varlibldocker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME/tmp
#将jar包添加到容器中并更名为zzq.jar
ADD [项目名].jar zzq.jar
#运行jar包
RUN bash -c 'touch /zzq_docker.jar'
ENTRYPOINT ["java","-jar","/zzq_docker.jar"]
#暴露8001端口作为微服务
EXPOSE 8001
docker build -t zzq_docker:1.6 . 构建镜像
docker run -d -p 8001  zzq_docker:1.6  运行镜像
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/705818.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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