docker 项目部署 后端/前端

news/2024/12/22 23:07:57/

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:82 |     VOLUME /tmp3 | >>> ADD swagger2-demo-0.0.1-SNAPSHOT.jar app.jar4 |     # 设置时区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:8ARG JAR_RELEASE_PATHARG JAR_POSE=8081RUN echo "ARGS is ${JAR_RELEASE_PATH}"COPY ${JAR_RELEASE_PATH}  app.jarENTRYPOINT ["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.ppmy.cn/news/511688.html

相关文章

签名文字头像PSD模板源文件打包3D艺术字贴图创意网红头像-李廷学

每天更新创意壁纸头像,喜欢记得关注哦。 人生途中,有些是无法逃避的,比如命运;有些是无法更改的,比如情缘;有些是难以磨灭的,比如记忆;有些是难以搁置的,比如爱恋……与其…

3D 旋转相册 立方体的盒子 相册(源码分享)

效果图 css代码 *{margin: 0;padding: 0; } body{display: flex;justify-content: center;align-items: center;background-color: #333;min-height: 100vh;perspective: 1000px; } //构建 3D的空间 .con{position: relative;width: 300px;height: 300px;transform-style: pres…

SLAM论文粗译:3D Mapping with an RGB-D Camera

Ⅰ简介 摘要 在本文中,我们提出了一种新的绘图系统,可以使用RGB-D摄像机稳健地生成高精度的三维地图。我们的方法不需要其他传感器或里程计。凭借微软Kinect等低成本,轻量级RGB-D传感器,我们的方法适用于小型家用机器人&#xf…

室内设计常用的涂料清单

涂料又被称为油漆,是涂于物体表面能形成具有保护、装饰或特殊性能(如绝缘、防腐、标志等)的固态涂膜的一类液体或固体材料的总称,在室内设计中非常常见,这次我整理了常用的涂料清单,方便各位设计师查阅&…

Java类和成员变量声明类详解

目录 声明类声明成员变量访问修饰符类型变量名 声明类 定义类: ? 1 2 3 4 class MyClass { // 字段、构造函数和 // 方法声明 } 这是一个类声明。类主体(大括号之间的区域)包含提供从类创建的对象的生命周期的所有代码&#…

姐姐喊我解锁套娃新技能:FairyGUI在Unity中实现List嵌套List/立体画廊等,玩出花儿来

👉即将学会 FairyGUI跨平台UI方案实现在Unity中的多样化列表,List嵌套List,玩出花来。 👉效果预看 👉背景 🙎小芝:小空,小空,你知道新的网络词套娃是什么意思吗。 &a…

浏览器中实现3D全景浏览

如果你用过网页版的百度地图,你大概3D全景图浏览是一种怎样的酷炫体验:在一个点可以360度环顾周围的建筑、景色,当然也可以四周移动,就像身临其境。 科普 全景图共分为三种: 1 球面全景图 利用一张全景图围成一个球&am…

每日一技:给女友用代码做一个3D旋转相册,每天亿遍忘记初恋~

前言 不会表白?!我来教你给女朋友或者正在追求的妹子一点小惊喜~ 今天这篇文章就是演示给女友做一个3D旋转相册,学会的小伙伴可以给自己的女朋友或者喜欢的女生做一个,相比几百上千的礼物,零成本的技术实现的3D选择相…