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

将java项目部署到linux


命令解析

  1. Dockerfile: Dockerfile 是一个文本文件,包含了所有必要的指令来组装(build)一个 Docker 镜像。

  2. docker build: 根据 Dockerfile 或标准指令来构建一个新的镜像。

  3. docker save: 将本地镜像保存为一个 tar 文件。

  4. docker load: 从 tar 文件中加载镜像。

  5. docker images: 列出本地主机上的镜像。

  6. docker pull: 从镜像仓库中拉取一个镜像或仓库中的某个标签(tag)的内容。

  7. docker push: 将本地镜像推送到镜像仓库。

  8. docker run: 运行一个新的容器实例。

  9. docker logs: 获取容器的日志输出。

  10. docker exec: 在运行中的容器内执行命令。

  11. docker ps: 列出当前所有运行中的容器。

  12. docker start: 启动一个或多个之前停止运行的容器。

  13. docker stop: 停止一个或多个运行中的容器。

  14. docker rm: 删除一个或多个容器。

  15. docker rmi: 删除一个或多个镜像。

1.将可运行的项目进行打包

2.打包的传入到linux中

1. Dockerfile文件
2. 打包好的jar包

3. 与项目相对应的jdk(linux——djk)


4. 将jar加载到docker

记得添加jdk,将jdk添加到容器,虚拟机也需要jdk环境

docker load < jdk.tar

docker build -t hmall . 是一个 Docker 命令,用于从当前目录(. 表示当前目录)下的 Dockerfile 构建一个名为 hmall 的 Docker 镜像。

  • docker build:这是 Docker 构建镜像的命令。
  • -t hmall-t 参数用于给新构建的镜像指定一个标签(tag),这里标签是 hmall
  • .:表示 Dockerfile 所在的上下文路径,. 表示当前目录。
docker build -t hmall .

为了给Docker中的容器分配固定的Docker内网IP地址,而且还跟其他现存的Docker容器IP不冲突,所以我们新创建一个Docker内网的网段。网络名字叫做mynet,网段是172.18.0.X,以后我们创建的容器都分配这个网段的IP。需要注意,172.18.0.1是网关的IP,我们不能用。
docker network create --subnet=172.18.0.0/18 mynet
 

docker run -d --name hm -p 8080:8080 --network mynet hmall 用于在 Docker 中启动一个名为 hmall 的容器,并将其连接到名为 mynet 的网络。以下是命令参数的详细解释:

  • docker run:Docker 运行容器的命令。
  • -d:表示以“分离模式”运行容器,即在后台运行。
  • --name hmall:为容器指定名称 hm
  • -p 8080:8080:将容器内部的 8080 端口映射到宿主机的 8080 端口。
  • --network mynet:将容器连接到名为 mynet 的网络。
  • hmall:指定要运行的镜像名称,这里假设您已经有一个名为 hmall 的镜像。
docker run -d --name hmall -p 8080:8080 --network mynet hmall

5. 运行项目

启动docker

systemctl start docker

启动容器-----hm

docker start hm

启动容器-----mysql

docker start mysql_1

执行启动程序

 docker logs hm

        

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

相关文章:

  • moviepy将图片序列制作成视频并加载字幕 - python 实现
  • ROS1入门教程5:简单行为处理
  • Vue:实现输入框不能输负数功能
  • 管理系统、微信小程序类源码文档-哔哩哔哩教程同步
  • AOP切点表达式之方法表达式execution
  • clickhouse-题库
  • 在 Sanic 应用中使用内存缓存管理 IP 黑名单
  • 可翻折的CPCI导冷板卡插拔机构
  • 面试题整理9----谈谈对k8s的理解2
  • 12个城市人文扫街、旅拍、人像风光摄影后期Lightroom调色预设
  • 无人设备遥控器之数传功率篇
  • 灭屏情况下,飞行模式+静音模式+插耳,播放音乐,电流异常
  • 面向微服务的Spring Cloud Gateway的集成解决方案:用户登录认证与访问控制
  • Jmeter负载测试如何找到最大并发用户数?
  • Spark-Streaming集成Kafka
  • 移植 OLLVM 到 Android NDK,Android Studio 中使用 OLLVM
  • DAY36|动态规划Part04|LeetCode:1049. 最后一块石头的重量 II、494. 目标和、474.一和零
  • Linux 下SVN新手操作手册
  • 障碍感知 | 基于KD树的障碍物快速处理(附案例分析与ROS C++仿真)
  • Electron -- Electron Fiddle(一)
  • 详解Redis的常用命令
  • elasticache备份
  • Tomcat负载均衡全解析
  • [LeetCode-Python版] 定长滑动窗口8——2461. 长度为 K 子数组中的最大和
  • springboot476基于vue篮球联盟管理系统(论文+源码)_kaic
  • 预约参观华为基地,见证行业巅峰
  • 【Flink-scala】DataSet编程模型介绍及数据源
  • Odrive源码分析(四) 位置爬坡算法
  • [Unity Shader][图形渲染] Shader数学基础11 - 复合变换详解
  • 使用Python实现智能家居控制系统:开启智慧生活的钥匙