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.hqwc.cn/news/56621.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SOP】最佳实践之 TiDB 业务写变慢分析

作者: 李文杰_Jellybean 原文来源: https://tidb.net/blog/d3d4465f 前言 在日常业务使用或运维管理 TiDB 的过程中,每个开发人员或数据库管理员都或多或少遇到过 SQL 变慢的问题。这类问题大部分情况下都具有一定的规律可循,…

Python Opencv实践 - 基本图像IO操作

import numpy as np import cv2 as cv import matplotlib.pyplot as plt#读取图像 #cv2.IMREAD_COLOR: 读取彩色图像,忽略alpha通道,也可以直接写1 #cv2.IMREAD_GRAYSCALE: 读取灰度图,也可以直接写0 #cv2.IMREAD_UNCHANGED: 读取…

2023中国数字人力峰会|用「消失的Ta」解读数字化人效管理

7月28日,DHR公会主办的「2023中国数字人力峰会」在北京顺利举办。盖雅工场联合创始人兼CEO章新波带来主题为「消失的它」的精彩分享。以下为分享内容: 近期,大家都在讨论消失的Ta,我也想借此话题举几个例子,聊聊对于企…

(论文复现)DeepAnt模型复现及应用

DeepAnt论文如下,其主要是用于时间序列的无监督粗差探测。 其提出的模型架构如下: 该文提出了一个无监督的时间序列粗差探测模型,其主要有预测模块和探测模块组成,其中预测模块的网络结构如下。 预测结构是将时间序列数据组…

SQL Server数据库 -- 索引与视图

文章目录 一、索引 聚集索引非聚集索引二、视图三、自定义函数 标量函数表值函数四、游标五、总结 前言 在学习完创建库表、查询等知识点后,为了更加方便优化数据库的存储和内容,我们需要学习一系列的方法例如索引与视图等等,从而使我们更加…

IDEA中Git面板操作介绍 变基、合并、提取、拉取、签出

IDEA中Git面板操作介绍 变基、合并、提取、拉取、签出 面板介绍 变基、合并 提取、拉取 签出、Checkout 面板介绍 如图,在IDEA的Git面板中,仓库会分为本地仓库和远程仓库,代码仓库里面放的是各个分支。 分支前面的书签🔖标志…

Linux常用命令学习总结

Linux命令分类 1. Linux目录操作命令2. Linux文件名称3. Linux磁盘命令4. Linux进程与防火墙5. Linux用户与组的关系6. Linux权限操作(chmod命令)7. Linux中的文件类型文件的寻找 最近系统地学习下Linux命令的使用,因此作如下记录,以便随时复习和翻阅。 …

微信小程序(van-tabs) 去除横向滚动条样式(附加源码解决方案+报错图)

问题描述 今天第一次接触vant组件库。 ant官网地址适用于Vue3 支持Vue2、Vue3、微信小程序等 我在使用van-tabs组件时遇到了一个问题,如下图所示: 从图片上可以看到有个灰色的横向滚动条,一开始领导给我说这个问题,我反反复复都…

宝塔面板点击SSL闪退打不开怎么解决?

宝塔Linux面板点击SSL证书闪退如何解决?旧版本的宝塔Linux面板确实存在这种情况,如何解决?升级你的宝塔Linux面板即可。新手站长分享宝塔面板SSL闪退的解决方法: 宝塔面板点击SSL证书闪退解决方法 问题:宝塔Linux面板…

关于策略模式的注入问题

上面抄别人的 当在实现策略方法时,报null,排查后发现是接口实现有多个,需要添加别名 注入时添加Qeualifier,指定名称,如下图;如图上修改, 测试类中不用new具体行为策略了,注入别名即…

文心一言 VS 讯飞星火 VS chatgpt (72)-- 算法导论7.1 3题

三、请简要地证明:在规模为 n 的子数组上,PARTITION 的时间复杂度为 Θ(n)。 文心一言: 首先,我们需要明确PARTITION函数的具体定义。PARTITION函数通常用于快速排序算法中,它将一个数组分为两个子数组,使得一个子数…

java-IDEA MAVEN查看依赖树,解决jar包重复和冲突

如果这里面的依赖关系有红线,就说明有包冲突,一般都是版本不一致,可以在idea里下一个插件Maven Helper,点击install并重启IDEA 打开pom.xml文件,在下方会出现Dependency Analyzer,选择它会出现重复依赖列表,选择对应的依赖,右键红…