当前位置: 首页 > article >正文

Docker自定义镜像

目录

回顾

镜像含义

DockerFile语法

自定义java项目镜像

创建一个空目录,在这个空目录中创建一个文件,命名为 DockerFile,将 java 项目打包成 jar 包,放到这个目录中

​编辑

编写DockerFile文件信息

 使用 docker build 构建为一个镜像

查看构建的镜像

docker run运行镜像


回顾

镜像含义

是一个轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),之后个打包好的运行环境就是image镜像文件。

DockerFile语法

DockerFile就是一个纯文本,里面记录了一系列的构建指令,如选择基础镜像、拷贝文件、运行脚本等等,Run,Copy,Add指令都会生成一个Layer,而Docker顺序执行这个文件里的所有步骤,最后就会创建出一个新的镜像出来。

 以下命令参考官方文档

指令说明
FROM指定基础镜像
ENV设置环境变量,可在后面指令使用
COPY拷贝本地文件到镜像的指定目录
RUN指令linux的shell命令,一般是安装过程的命令
EXPOSE指定容器运行时监听的端口,是给镜像使用者看的
ENTRYPOINT镜像中应用的启动命令,容器运行时调用

自定义java项目镜像

创建一个空目录,在这个空目录中创建一个文件,命名为 DockerFile,将 java 项目打包成 jar 包,放到这个目录中

编写DockerFile文件信息

基本信息如下:

  1. 基于XXX作为基础镜像
  2. 将 app.jar 拷贝到镜像中
  3. 暴露端口
  4. 编写入口 ENTRYPOINT
#基础镜像
FROM java:8-alpine

#设置时区
ENV TZ=Asi/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

#拷贝jar包
COPY docker-demo.jar /app.jar

#暴露端口
EXPOSE 8090

#入口
ENTRYPOINT ["java","-jar","/app.jar"]

 使用 docker build 构建为一个镜像

参数说明:

  • -t 表示设置镜像名和版本号(自定义)
  • . 表示 Dockerfile 所在目录,因为刚刚我是将 Dockerfile 放在了当前文件目录下,所以就用 . 来表示当前目录

查看构建的镜像

docker run运行镜像

根据服务器 IP 和自己配置的镜像映射端口号以及项目地址就可以访问了


http://www.kler.cn/a/152360.html

相关文章:

  • 十大排序之冒泡排序与快速排序(详解)
  • Web 安全之证书透明(Certificate Transparency)详解
  • https 是否真的安全,https攻击该如何防护,https可以被抓包吗?如何防止呢?
  • ESP32-Web-Server编程- 通过 Highcharts 创建图表(Chart)实时显示设备信息
  • 一个菜单两个二级路由的搭建
  • VMware Linux(Centos)虚拟机扩容根目录磁盘空间
  • mockito加junit gd 单元测试 笔记
  • 防火墙补充NAT
  • Flask学习二:项目拆分、请求与响应、cookie
  • 设计模式之装饰模式(2)--有意思的想法
  • Python与设计模式--解释器模式
  • Android UiAutoMatorViewer打不开
  • Nginx(八) aio sendfile directio 组合使用测试(1)
  • Pycharm中使用matplotlib绘制动态图形
  • Electron+Ts+Vue+Vite桌面应用系列:sqlite增删改查操作篇
  • Flutter应用程序的加固原理
  • 一些小笔记(Delphi)
  • cephadm部署ceph quincy版本,使用ceph-csi连接
  • [读论文][跑代码]BK-SDM: A Lightweight, Fast, and Cheap Version of Stable Diffusion
  • 设计模式总目录