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

Docker制作SpringBoot镜像

  • Dcokerfile目录

在这里插入图片描述

编写Dockerfile

FROM openjdk:8
#发布到网上时只会把jar包和Dockerfile发布上去RUN mkdir -p /opt/javaCOPY app.jar /opt/java/app.jar
#地址映射
#CMD ["--server.port=8080"]
#对外暴露端口(可以任意修改)
EXPOSE 15009
#执行命令
#ENTRYPOINT ["java","-jar","/app.jar"]ENV APP_VERSION 11.1#CMD的写法容器一直报错 no such file 
#CMD ["java -jar /app.jar"]
CMD ["java","-jar","/opt/java/app.jar"]

在dockerfile中,声明了操作系统的环境变量,暴露了端口号,用CMD命令指定容器启动后的命令,这里是启动jar包。
注意: CMD 命令不要写在一个字符串中,而是要以数组的形式分开写。

  • 镜像构建
    docker build -t app:1.0 .

查看镜像
在这里插入图片描述

这些镜像名和标签名都是none的,被称为虚悬镜像,可以理解为过时镜像,当新发布的镜像名和标签与就镜像一致时,旧镜像自然就成了虚悬镜像。

  • 启动docker容器
docker run -d -P -v /opt/module/docker/java/index.conf:/opt/java/index.conf app:1.0

这里进行了随机端口映射,使用了数据卷挂载,将/opt/module/docker/java/index.conf 挂载到容器中的/opt/java/index.conf
这里说明一下文件和目录的挂载:

  1. 如果宿主机和容器内都有的文件 ,则会以宿主机的为准,如果修改宿主机或者容器内的文件,都会进行相互同步,这里要注意的一点是,容器的宿主的文件要是提前存在的。

  2. 目录的挂载, 将宿主机的某个目录与docker的某个目录进行挂载,那么这个目录下任何文件改变都会相互同步

docker run -d -P -v /opt/module/docker/java/mount/:/opt/mount/ app:1.0
此命令会将宿主机的 /opt/module/docker/java/mount/ 目录下的内容 挂载到 容器中的 /opt/mount/ 目录下,如果容器目录不存在,则会自动创建,然后把宿主机目录的内容给同步过去。这是目录对目录,有的容器目录挂载不成功,所以启动后要使用 docker ps 看一下容器是否已经起来了。

http://www.lryc.cn/news/111620.html

相关文章:

  • 力扣:53. 最大子数组和(Python3)
  • 利用appium抓取app中的信息
  • 数据结构:双向链表的实现(C实现)
  • linuxARM裸机学习笔记(4)----GPIO中断以及定时器中断实验
  • 第十二次CCF计算机软件能力认证
  • ceph pg inconsistent修复(unexpected clone)
  • 供求重构是产业互联网的核心 个体崛起是产业互联网的终点
  • torchvision.datasets数据加载失败
  • 【UEC++学习】UE网络 - Replication、RPC
  • C语言案例 按序输出三个整数-02
  • 区块链实验室(16) - FISCO BCOS实验环境
  • Java事件监听机制
  • 记一次ubuntu16误删libc.so.6操作的恢复过程
  • MAVLINK—C语言demoWindows版本
  • 区块链实验室(15) - 编译FISCO BCOS的过程监测
  • java_IO其它架包使用
  • 一、7.协同式任务切换与抢占式任务切换
  • JavaScript实践:用Canvas开发一个可配置的大转盘抽奖功能
  • yay无法更新问题解决
  • C语言 — 动态内存管理(动态内存函数)
  • Visual ChatGPT:Microsoft ChatGPT 和 VFM 相结合
  • 基于java理发店预约系统微信小程序设计与实现
  • 【软件测试】大厂测工都是这样学习的,你get到了吗?
  • 如何使用ONLYOFFICE+ffmpeg来给视频文件打马赛克
  • 003-依赖注入、属性赋值源码分析
  • Elasticsearch 商业启示
  • C++/Qt 读写文件
  • linux服务器之-nethogs命令
  • 《每天5分钟玩转kubernetes》读书笔记
  • 【RabbitMQ】golang客户端教程4——路由(使用direct交换器)