docker 项目部署 后端/前端

news2024/9/24 3:21:28

1.前端部署

2.后端部署

问题一:build出问题

ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 668a7264-5d0b-45a6-b547-fa8fff014bda::g00ukurq2ipxuvrrz8rnpyskp: "/swagger2-demo-0.0.1-SNAPSHOT.jar": not found

[root@localhost /]# docker build  -f ./home/docker/Dockerfile -t api .
[+] Building 0.0s (6/8)                                                                                                                                                                      
 => [internal] load build definition from Dockerfile                                                                                                                                    0.0s
 => => transferring dockerfile: 410B                                                                                                                                                    0.0s
 => [internal] load .dockerignore                                                                                                                                                       0.0s
 => => transferring context: 2B                                                                                                                                                         0.0s
 => [internal] load metadata for docker.io/library/java:8                                                                                                                               0.0s
 => [internal] load build context                                                                                                                                                       0.0s
 => => transferring context: 2B                                                                                                                                                         0.0s
 => [1/4] FROM docker.io/library/java:8                                                                                                                                                 0.0s
 => ERROR [2/4] ADD swagger2-demo-0.0.1-SNAPSHOT.jar app.jar                                                                                                                            0.0s
------
 > [2/4] ADD swagger2-demo-0.0.1-SNAPSHOT.jar app.jar:
------
Dockerfile:3
--------------------
   1 |     FROM java:8
   2 |     VOLUME /tmp
   3 | >>> ADD swagger2-demo-0.0.1-SNAPSHOT.jar app.jar
   4 |     # 设置时区
   5 |     RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 668a7264-5d0b-45a6-b547-fa8fff014bda::g00ukurq2ipxuvrrz8rnpyskp: "/swagger2-demo-0.0.1-SNAPSHOT.jar": not found

玄学,目前看,进入Dockerfile路径下,再build就可以,直接用-f 指定路径还是找不到
docker build 命令 :

docker build  -t api .

终端

[root@localhost /]# cd /home
[root@localhost home]# ls
docker  redis  website  za
[root@localhost home]# cd docker
[root@localhost docker]# ls
bk  docker-compose.yml  Dockerfile  nginx  swagger2-demo-0.0.1-SNAPSHOT.jar
[root@localhost docker]# docker build  -t api .
[+] Building 0.0s (9/9) FINISHED                                                                                                                                                             
 => [internal] load build definition from Dockerfile                                                                                                                                    0.0s
 => => transferring dockerfile: 410B                                                                                                                                                    0.0s
 => [internal] load .dockerignore                                                                                                                                                       0.0s
 => => transferring context: 2B                                                                                                                                                         0.0s
 => [internal] load metadata for docker.io/library/java:8                                                                                                                               0.0s
 => [internal] load build context                                                                                                                                                       0.0s
 => => transferring context: 115B                                                                                                                                                       0.0s
 => [1/4] FROM docker.io/library/java:8                                                                                                                                                 0.0s
 => CACHED [2/4] ADD swagger2-demo-0.0.1-SNAPSHOT.jar app.jar                                                                                                                           0.0s
 => CACHED [3/4] RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime                                                                                                            0.0s
 => CACHED [4/4] RUN echo 'Asia/Shanghai' >/etc/timezone                                                                                                                                0.0s
 => exporting to image                                                                                                                                                                  0.0s
 => => exporting layers                                                                                                                                                                 0.0s
 => => writing image sha256:9d4269948f2d634446a5180c8b0d7fb5219f6246c5cf8a5aa437ce8354ca588e                                                                                            0.0s
 => => naming to docker.io/library/api                                                                                                                                                  0.0s
[root@localhost docker]# docker images
REPOSITORY     TAG       IMAGE ID       CREATED          SIZE
api            latest    9d4269948f2d   15 minutes ago   725MB
swagger-demo   latest    9d4269948f2d   15 minutes ago   725MB
nginx          latest    7d3c40f240e1   8 days ago       143MB
redis          latest    0ec8ab59a35f   4 weeks ago      117MB
hello-world    latest    9c7a54a9a43c   6 weeks ago      13.3kB
openjdk        17        5f94f53bbced   18 months ago    471MB
mysql          latest    3218b38490ce   18 months ago    516MB
mysql          8.0.23    cbe8815cbea8   2 years ago      546MB
java           8         d23bdf5b1b1b   6 years ago      643MB

问题二:自定义镜像运行后就停止

在这里插入图片描述
这种一般是,build时候就有问题,Dockerfile 有问题。

Dockerfile文件 正确的

FROM java:8
VOLUME /tmp
ADD swagger2-demo-0.0.1-SNAPSHOT.jar app.jar
# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
# 暴露17080端口
EXPOSE 8081
ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]

这里ADD 打包的jar包 build后的jar 包

一般还是因为路径问题找不到你打包的jar 包导致也找不到app.jar,
所以还有回去重新打包,看Dockerfile文件
我之前是没有明确jar包,改成
ARG JAR_RELEASE_PATH=swagger2-demo-0.0.1-SNAPSHOT.jar
== docker 运行命令 ==

docker run -d -p 8090:8090 --name music api

Dockerfile 错误的

FROM java:8

ARG JAR_RELEASE_PATH

ARG JAR_POSE=8081

RUN echo "ARGS is ${JAR_RELEASE_PATH}"

COPY ${JAR_RELEASE_PATH}  app.jar

ENTRYPOINT ["java","-jar","-Duser.timezone=GMT+8","/app.jar"]

EXPOSE ${JAR_POSE}

启动成功示意

[root@localhost docker]# docker run -d -p 8081:8081 --name music api
f57245ddf45b7709906dadc8d663244079f04154677eb2a1a02d9bafcc0e1a55
[root@localhost docker]# docker ps
CONTAINER ID   IMAGE     COMMAND                   CREATED         STATUS          PORTS                                       NAMES
f57245ddf45b   api       "java -Djava.securit…"   3 seconds ago   Up 2 seconds    0.0.0.0:8081->8081/tcp, :::8081->8081/tcp   music
4cc0e3a49eff   redis     "docker-entrypoint.s…"   8 days ago      Up 40 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   myredis

后端部署流程
在/home/docker 路径下,尽量用root用户
在这里插入图片描述
1.给项目打jar包
在这里插入图片描述
打好的包在target里
在这里插入图片描述
通过xftp传到虚拟机里
注意如果没有docker-compose文件,需要提前在application.yml里修改mysql的地址为ip地址而不是localhost
在这里插入图片描述

2.编写Dockerfile文件

FROM java:8
VOLUME /tmp
ADD swagger2-demo-0.0.1-SNAPSHOT.jar app.jar
# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
# 暴露17080端口
EXPOSE 8081
ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]

3.build jar包
docker build -t api . ## .是指当前目录,所以要cd到Dockerfile的目录下
4. 查看镜像
docker images
5.运行镜像
docker run -d -p 8081:8081 --name httpapi api ## -d:后台运行该容器 ,-p:容器内部端口随机映射到主机的端口

docker ps 查看运行容器命令
docker ps -a 查看全部容器
docker rm 容器ID 删除 容器
docker rmi 镜像ID 删除镜像
mkdir 文件名 新建文件
mv 原文件地址 现文件地址 移动/修改文件名

然后主机就可以访问swagger了
访问地址:
http://192.11.11(虚拟机ip地址):8081/swagger-ui.html#/
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/672850.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

next.js博客搭建_react-markdown渲染内容(第三步)

文章目录 ⭐前言⭐引入react-markdown💖 使用markdown渲染💖 文章内容布局💖 react-syntax-highlighter代码高亮 ⭐结束 ⭐前言 大家好,我是yma16,本期给大家分享next项目中使用react-markdown渲染内容。 该系列的往期…

考研C语言第八章

结构体定义&#xff0c;初始化&#xff0c;结构体数组 结构体对齐 这个东西看着像数据库里面属性的定义&#xff0c;也像java里面的类的定义 #include <stdio.h> #include <string.h> #include <stdlib.h>struct student{int num;char name[20];char sex;i…

chatgpt赋能python:Python桌面编程:探索图形用户界面

Python桌面编程&#xff1a;探索图形用户界面 Python是一种广受欢迎的高级编程语言&#xff0c;被广泛应用于数据科学、人工智能、Web开发和自动化。但是&#xff0c;随着越来越多的应用程序向图形用户界面&#xff08;GUI&#xff09;转移&#xff0c;Python的桌面编程能力也…

datagrip 连接 phoenix

jar替换完后尽量重启datagrip. 然后重新连接即可. 不重启貌似报错... 效果:

chatgpt赋能python:Python更新界面:让你的应用更美观、更易用

Python更新界面&#xff1a;让你的应用更美观、更易用 Python是一门强大的编程语言&#xff0c;广泛应用于软件开发、数据分析、机器学习等领域。其中&#xff0c;Python的GUI开发能力也非常出色。Python支持多种GUI库&#xff0c;如Tkinter、PyQt、wxPython等&#xff0c;可以…

【C++篇】C++新增的一些基础特性

友情链接&#xff1a;C/C系列系统学习目录 知识总结顺序参考C Primer Plus&#xff08;第六版&#xff09;和谭浩强老师的C程序设计&#xff08;第五版&#xff09;等&#xff0c;内容以书中为标准&#xff0c;同时参考其它各类书籍以及优质文章&#xff0c;以至减少知识点上的…

Python--字典

Python--字典 <font colorblue>一、创建字典<font colorblue>二、访问字典元素<font colorblue>三、字典的增、删、查、改<font colorblue>1、添加元素<font colorblue>2、删除元素<font colorblue>3、查找元素<font colorblue>4、修…

Git——分布式版本控制系统

简介 Git是一个开源的分布式版本控制系统&#xff0c;可以高效的处理从小到很大的项目版本管理。 分类 集中式 SVN&#xff0c;CVS 使用单一的服务器用来管理和存储所有文件的修订版本&#xff1b;协同开发的成员拉取或提交都需连接到这台服务器&#xff1b;如果服务器宕机…

电控开关详细介绍 MOSFET

目录 NMOS MOSFET的开关模型 现实生活中MOSFET的截面图 输出特性曲线 总结 MOSFET的SCS模型 MOSFET的SR模型 进一步分析 例子 PMOS CMOS(Complementary Metal-Oxide-Semiconductor) NMOS 金属氧化物半导体场效应晶体管 这是一个什么样的结构呢&#xff1f; 对于…

2023 年6月开发者调查统计结果——最流行的技术(2)

2023 年6月开发者调查统计结果——最流行的技术&#xff08;2&#xff09; 本文目录&#xff1a; 二十三、编程、脚本和标记语言 二十四、数据库 二十五、云平台 二十六、网络框架和技术 二十七、其他框架和库 二十八、其他工具 二十九、集成开发环境 三十、异步工具 …

chatgpt赋能python:Python查错完全指南:如何快速诊断和解决常见的错误

Python查错完全指南&#xff1a;如何快速诊断和解决常见的错误 Python是一种高级编程语言&#xff0c;它被广泛用于数据科学、机器学习、Web开发和自动化等领域。虽然Python具有易于学习和易于使用的特点&#xff0c;但是在编写复杂的应用程序时&#xff0c;错误和异常情况经常…

chatgpt赋能python:Python构造图入门指南

Python构造图入门指南 Python是一种非常强大的编程语言&#xff0c;它可以用于各种任务&#xff0c;包括数据分析、机器学习和深度学习等领域。其中&#xff0c;构造图是Python在数据分析领域的一项非常重要的技术&#xff0c;本文将为大家介绍Python构造图的入门指南。 什么…

chatgpt赋能python:Python查找手机号码

Python查找手机号码 在今天的数字时代&#xff0c;手机号码已成为每个人生活中必不可少的一部分。虽然我们可以轻松地拥有一部手机&#xff0c;但是对于那些需要通过电话来联系客户、朋友或家庭成员的人&#xff0c;获取正确的手机号码就显得尤为重要。 这就是为什么Python查…

【科普知识】如何解决CANopen通信一体化伺服电机PDO无法正常使用

随着现代的自动化程度不断提高&#xff0c;一体化电机的应用正逐渐成为行业的新趋势。 一体化伺服电机是现代工业自动化系统中常用的设备&#xff0c;它集成了伺服电机、驱动器和控制器等功能&#xff0c;提供了高效、精确的运动控制。在其系统中&#xff0c;我们通常使用PDO&a…

vue封装ketcher 化学式、分子式编辑器

ketcher是一个化学结构式编辑器&#xff08;github地址&#xff09;&#xff0c;ketcher插件提供了传统的html standalone版、npm包react版&#xff0c;并没有npm包vue版&#xff0c;集成到vue的原理是将standalone版嵌到iframe中&#xff0c;通过拿到iframe中的ketcher对象&am…

解决Armbian安装UFW防火墙后无法访问1Panel面板的问题:有效解决方案揭秘

文章目录 前言armbian安装防火墙原因分析解决方案第一步&#xff1a;查看1panel的面板入口端口第二步&#xff1a;打开指定端口的访问权限第三步&#xff1a;重启防火墙第四步骤&#xff1a;查看防火墙状态【可略】 前言 官方的教程很不错&#xff0c;但是还是有一些缺陷&…

第四章 ResNet网络详解

系列文章目录 第一章 AlexNet网络详解 第二章 VGG网络详解 第三章 GoogLeNet网络详解 第四章 ResNet网络详解 第五章 ResNeXt网络详解 第六章 MobileNetv1网络详解 第七章 MobileNetv2网络详解 第八章 MobileNetv3网络详解 第九章 ShuffleNetv1网络详解 第十章…

.net 软件开发模式——三层架构

三层架构是一种常用的软件开发架构模式&#xff0c;它将应用程序分为三个层次&#xff1a;表示层、业务逻辑层和数据访问层。每一层都有明确的职责和功能&#xff0c;分别负责用户交互、业务处理和数据存储等任务。这种架构模式的优点包括易于维护和扩展、更好的组织结构和代码…

Vue的详细安装教程,使用NVM安装是我所推荐的方式

第一步&#xff1a;卸载之前安装的node&#xff0c;安装NVM 进入网站&#xff1a;Releases coreybutler/nvm-windows GitHub 选择一个版本进行安装即可 安装的路径我就不用多说了&#xff0c;全英文路径&#xff0c;尽量不要安装在c盘上&#xff0c;计算机人都懂为什么&…

vmware17+ubuntu18.04通过qemu8.0.2启动arm64虚拟机-测试vsock

文章目录 一、环境搭建1.qemu-8.0.22.buildroot配置 3.编译工具链gcc-linaro-7.2.1下载交叉编译工具链 4.linux kernel 5.16config_kernel.sh配置内核build_kernel.sh 5.启动虚拟机&#xff08;1&#xff09;创建磁盘镜像文件&#xff08;2&#xff09;拷贝内核镜像和根文件系统…