目录
一、在pom.xml 文件中加入依赖
1.依赖内容
2.依赖说明和解释
3.使用流程
4.示例
5.注意
二、执行打包
1.使用命令打包
2.使用IDEA提供快捷方式
三、将jar包上传到服务器
四、创建相关配置
1.创建一个Dockerfile文件
2.添加配置
3.举例
五、生成Docker镜像
1.命令模版
2.举例
(1)命令
(2)解释说明
1. docker build
2. -t gateway:1.1
3. .
命令的工作流程:
(3)注意点
3.运行效果
六、生成Docker容器
1.命令模版
2. 举例
(1)命令
(2). 解释说明
1. docker run
2. --name gateway
3. -p 8201:8201
4. -d
5. gateway:1.1
总结
后台运行:容器将在后台运行,不会占用当前的终端。
命令解析:
3. 运行结果
这个Maven 配置是用来配置 Spring Boot 项目的打包插件 ,它会帮助你构建一个可执行的 JAR 文件(Spring Boot 可运行 JAR 文件),以及在 Maven 构建过程中执行重新打包的任务。
- : 该插件的 Maven 组 ID。 是 Spring Boot 提供的插件,用于构建和打包 Spring Boot 应用程序。
- : 插件的工件 ID,在这个案例中是 。
- : 插件的版本。通常,这个版本应该和你使用的 Spring Boot 版本一致,这样可以确保兼容性。 是一个变量,表示 Spring Boot 的版本号。你可以在 部分定义该版本,如:
- : 指定你的 Spring Boot 应用程序的主类(即包含 方法的类)。在这个例子中是 ,你应该根据你的项目结构修改为正确的主类。
- : 在构建过程中执行的目标任务。在这个例子中, 目标会被执行,这意味着该插件将重新打包应用并生成可执行的 JAR 文件。
- : 这个目标会将你的项目重新打包成一个可执行的 JAR 文件,所有的依赖和资源都将被打包到该 JAR 中,以便你可以通过 命令运行应用。
- : 执行 Maven 构建命令,Maven 会通过 插件自动将项目打包成一个可执行的 JAR 文件。
- : 你可以通过执行生成的 JAR 文件来启动 Spring Boot 应用。
假设你将 Spring Boot 版本设置为 ,并且主类是 ,那么在 部分你可能会这样设置版本:
项目主类(启动类) 应该如下所示:
- 确保 标签中指定的主类路径是正确的,并且该类包含 方法。
- 在构建前,确保你已经配置了正确的 Spring Boot 版本,避免版本不兼容的问题。
- 目标的默认行为是将项目打包成一个 Spring Boot 可执行 JAR,你可以根据需要定制其他行为。
运行 命令,Spring Boot 会自动使用 重新打包项目,并将所有依赖和配置打包进一个单独的 JAR 文件。
IDEA中有提供的快捷方式,直接点击就行
打包结果:
我这使用的是FinalShell直接进入到指定目录拖拽上传即可(其他工具我电脑上没有,这里就不一一展示了)
在jar包的同一目录创建一个Dockerfile文件
这里拿我刚刚打包的项目举例
这里依旧拿我打包的gateway举例
(1)命令
(2)解释说明
1.
是 Docker 的命令,用于根据 文件和上下文构建镜像。 是描述如何构建镜像的脚本文件,包含了安装软件、设置环境、复制文件等步骤。
2.
选项用于给构建的镜像指定名称和标签。 表示:
- 是镜像的名称(可以是你选择的任何名字)。
- 是镜像的标签(也可以是任何有效的标签)。标签通常用于标识不同版本的镜像。常见的标签有 (表示最新版本)或其他版本号如 、 等。
因此, 表示你构建的镜像将命名为 ,并标记为 版本。
3.
代表当前目录,作为 Docker 构建的上下文(build context)。构建过程中,Docker 将从当前目录获取所有的文件(如果有 文件,则会排除其中指定的文件)并传递给 Docker 引擎,供 使用。
通常, 和构建过程中需要的文件会在同一目录下。如果你运行 ,Docker 会从当前目录(包含 )读取相关的文件来构建镜像。
命令的工作流程:
- Docker 在当前目录查找 。
- Docker 根据 中的指令构建镜像(例如复制文件、安装依赖、设置环境变量等)。
- 构建完成后,Docker 将创建一个名为 的镜像,保存到本地的 Docker 镜像库中。
(3)注意点
在命令中 这个点不要忘了 “ . ”
用生成的Docker镜像生成Docker容器并运行
这里依旧拿我打包的gateway举例
(1)命令
(2). 解释说明
1.
- 这是 Docker 中最常用的命令,用于运行一个新的容器。
- 会拉取指定镜像(如果本地没有的话),然后创建并启动一个容器。
2.
- 选项用于给启动的容器指定一个名称。
- 在这个例子中,容器将被命名为 。
- 使用容器名称可以方便你后续操作,比如查看日志、停止容器或删除容器等。例如,使用 来停止名为 的容器。
注意: 容器名称应该是唯一的,不能与其他正在运行的容器名称重复。如果你尝试给容器起一个已经存在的名称,Docker 会报错。
3.
- 选项用于设置端口映射,将容器内部的端口映射到宿主机的端口,使你能够从外部访问容器提供的服务。
- 表示将宿主机的 端口映射到容器内的 端口。
- 容器内的服务监听在端口 。
- 你可以通过宿主机的 端口来访问容器中的服务。
例子: 如果容器运行的是一个 Web 应用,并且该应用在容器内部的端口 上监听,那么宿主机的 就能访问到容器内的应用。
端口映射原理:
- 容器内的服务可能仅能通过容器内的 IP 访问,但通过 参数,将容器内部的端口暴露到宿主机后,外部网络请求就可以通过宿主机的指定端口访问到容器服务。
4.
- 代表 detached mode(后台模式)。
- 如果不加 ,容器会在前台运行,并且你会看到容器的日志输出。如果加上 ,容器会在后台运行,当前终端会被释放出来,可以继续执行其他命令。
- 在后台运行时,Docker 会显示容器的唯一 ID,而不会显示容器的标准输出(日志)。
后台模式的优势: 当你希望容器在后台持续运行,不占用当前终端时,使用 非常有用。
5.
- 指定了要启动的 镜像名称 和 版本标签。
- 是镜像的名称。
- 是镜像的版本标签。Docker 默认使用 标签,如果没有显式指定版本标签,Docker 会拉取 标签的镜像。这里使用了 版本的镜像,表示启动的是该版本的镜像。
镜像和标签: 是镜像名称, 是版本标签。通过版本标签可以确保你运行的镜像是特定版本,而不是其他版本。
总结
这条命令的作用是:
- 创建并启动容器:基于 镜像,创建并启动一个名为 的新容器。
- 端口映射:将宿主机的 端口映射到容器的 端口,从而使容器内的服务能通过宿主机的端口进行访问。
后台运行:容器将在后台运行,不会占用当前的终端。
命令解析:
- :容器名称为 。
- :宿主机的 端口映射到容器的 端口。
- :容器以后台模式运行。
- :使用 镜像的 版本启动容器。
这样,通过这个命令,你将能够在后台运行一个名为 的容器,并且通过宿主机的端口 访问容器内部的服务。
ip+端口访问
如果不是出现拒接连接就成功了
我这里gateway网关所以访问找不到路径就出现404找不到路径的问题(属于正常现象)
出现一下页面就是错误的证明容器中项目报错,启动失败
又或者服务器ip端口没有放开
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/14729.html