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

Dockerfile自定义镜像

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

Dockerfile自定义镜像

目录

镜像结构

什么是Dockerfile


 

常见的镜像在DockerHub能找到,但是我们自己写项目得自己构造镜像; 

镜像结构

作用:提高复用性,当应用需要更新时,不再是整个系统重装进行更新 ,而是对需要更新的部分进行更新,其他地方不动——>这就是分层的好处

每做一次新的操作会产生新的一层

简单来说,镜像就是在系统函数库、运行环境的基础上添加应用程序文件、配置文件,然后合并后+编写好的启动脚本(镜像运行的入口)一起形成的文件

所以说,构建镜像,就是实现上述打包过程;

什么是Dockerfile

构建自定义镜像,如果一个个文件去拷贝打包,会非常麻烦;

我们只需要告诉Docker,我们镜像的组成结构,需要哪些BaseImage、拷贝哪些依赖,需要哪些启动脚本,那么Docker将会帮助构建镜像;

而DockerFile:是一个文本文件,里面的指令描述了要什么样的操作来构建镜像;

更新详细语法说明,请参考官网文档:Dockerfile reference | Docker Documentation. 

 实例:构建Java项目

 基于Ubuntu镜像构建一个新的镜像,运行一个Java项目

 1.首先新建一个空文件夹docker-demo,然后将文件拷贝到里面

 2.设置DockerFile中的内容(利用DockerFile指令设置镜像的每一层内容:就是函数库、依赖、环境啥的):

# 指定基础镜像
FROM ubuntu:16.04
# 配置环境变量,JDK的安装目录
ENV JAVA_DIR=/usr/local

# 拷贝jdk和java项目的包
COPY ./jdk8.tar.gz $JAVA_DIR/
COPY ./docker-demo.jar /tmp/docker-demo.jar

# 安装JDK
RUN cd $JAVA_DIR 
 && tar -xf ./jdk8.tar.gz 
 && mv ./jdk1.8.0_144 ./java8

# 配置环境变量
ENV JAVA_HOME=$JAVA_DIR/java8
ENV PATH=$PATH:$JAVA_HOME/bin

# 暴露端口
EXPOSE 8090
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/docker-demo.jar

3.然后我们在当前目录下 执行docker build命令:创建镜像给到岛屿(本地)

 4.最后运行镜像:

docker run --name javaweb -p 8090:8090 -d javaweb:1.0

5.访问http://102.168.188xxx:8090/hello/count即可 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/882034.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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