目录 一、前置知识 1.镜像结构 2.Dockerfile是什么 二、自定义一个 java 项目镜像 1.创建一个空目录,在这个空目录中创建一个文件,命名为 DockerFile,最后将 java 项目打包成 jar 包,放到这个目
目录
1.创建一个空目录,在这个空目录中创建一个文件,命名为 DockerFile,最后将 java 项目打包成 jar 包,放到这个目录中
我们知道镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成,那么它的层次结构是怎么的呢?
镜像是分层结构,每一层称为一个Layer
Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。每一个指令都会形成一层Layer。
以下参考官网文档(只是列举了一些常用的)
Dockerfile reference | Docker DocumentationFind all the available commands you can use in a Dockerfile and learn how to use them, including COPY, ARG, ENTRYPOINT, and more.https://docs.docker.com/engine/reference/builder
指令 | 说明 | 示例 |
FROM | 指定基础镜像(Dockerfile 第一行必须是 FROM,从基础镜像来构建,基础镜像可以是基本操作系统,如ubuntu。也可以是其他人制作好的镜像,例如:java:8-alpine) | FROM Centos:7 |
ENV | 设置环境变量,可在后面指令使用 | ENV key value |
COPY | 拷贝本地文件到镜像的指定目录 | COPY ./Mysql-5.7.rpm /tmp |
RUN | RUN yum install GCc | |
EXPOSE | 指定容器运行时监听的端口,是给镜像使用者看的 | EXPOSE 8080 |
ENTRYPOINT | 镜像中应用的启动命令,容器运行时调用 | ENTRYPOINT java -jar xx.jar |
主要编写以下信息:
Ps:Dockerfile的第一行必须是FROM;从一个基础镜像来构建基础镜像可以是基本操作系统,如Ubuntu。也可以是其他人制作好的镜像,例如:java:8-alpine
# 指定基础镜像FROM java:8-alpine# 拷贝 java 项目包COPY ./docker-demo.jar /tmp/app.jar# 暴露端口EXPOSE 8090# 入口,java项目的启动命令ENTRYPOINT java -jar /tmp/app.jar
参数说明:
通过 docker images 就可以看到刚刚构建好的镜像
这时候你就可以根据服务器 IP 和自己配置的镜像映射端口号以及项目地址就可以访问了~
注意:如果需要访问,别忘了开放云服务器的端口号的防火墙哦~
Ps:最后也可以使用 docker push 发布镜像(DockerHub、阿里云镜像仓库)
来源地址:https://blog.csdn.net/CYK_byte/article/details/131624909
--结束END--
本文标题: Dockerfile自定义镜像 - 基于 java:8-alpine 镜像,将一个Java项目构建为镜像
本文链接: https://lsjlt.com/news/416442.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0