14 .docker部署若依

文章目录

  • 0.参考资料
  • 1. 创建网络
  • 2.制作java容器
  • 3.容器启动

0.参考资料

https://blog.csdn.net/Pan_peter/article/details/128807946

1. 创建网络

因为java容器的运行需要访问mysql和redis容器,nginx容器需要访问java容器,所以需要创建一个他们能互相访问的网络。
创建一个叫做my-network的局域网,设置网段和网关。

sudo docker network create --subnet=172.18.0.0/16 --gateway=172.18.0.1 my-network

2.制作java容器

  • 拉java8的容器
docker pull java:8
  • 在jar文件的同级目录下,新建Dockerfile文件,没有后缀,文件名就是Dockerfile
#基础镜像使用jdk1.8
FROM java:8#作者
MAINTAINER pan# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp# 将jar包添加到容器中并更名
ADD winapp-admin.jar app.jar# 运行jar包
RUN bash -c 'touch /app.jar'# 为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/./urandom” 作为 Entropy Source
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]#ENTRYPOINT ["nohup","java","-jar","/data/cat/ruoyi-admin.jar","&"]#暴露port端口
EXPOSE 80
  • 制作镜像
sudo docker build -t app:1.0 .

3.容器启动

  • 1.启动mysql容器
mkdir /home/winup/data/docker/mysql
mkdir /home/winup/data/docker/mysql/datadir
mkdir /home/winup/data/docker/mysql/conf
mkdir /home/winup/data/docker/mysql/logsudo docker run --restart=always  --network=my-network  --ip 172.18.0.7  --name docker_mysql_57 -p 3306:3306 -v  /home/winup/data/docker/mysql/datadir:/var/lib/mysql -v  /home/winup/data/docker/mysql/conf:/etc/mysql/conf.d -v  /home/winup/data/docker/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD='123456' -d mysql:5.7
  • 2.启动redis容器

mkdir /home/winup/data/docker/redis
mkdir /home/winup/data/docker/redis/data
sudo docker run --restart=always --network=my-network --ip 172.18.0.5 -d -v /home/winup/data/docker/redis/data:/data --name docker_redis -p 6379:6379 redis redis-server --requirepass "123456" --appendonly yes
  • 3.启动nginx容器
sudo docker run --restart=always  --network=my-network --ip 172.18.0.6 -p 28001:80 --name docker_winup_ui -v /home/winup/data/docker/ui/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/winup/data/docker/ui/conf/conf.d:/etc/nginx/conf.d -v /home/winup/data/docker/ui/log:/var/log/nginx -v /home/winup/data/docker/ui/html:/usr/share/nginx/html -d nginx:latest
  • 4.启动java容器
sudo docker  run --network=my-network  --ip 172.18.0.8 --restart=always -d --name winup_app  -p 28000:80  app:1.0

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

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

相关文章

Java中什么是多线程?

Java是一种支持多线程编程的编程语言,它提供了内置的多线程支持,使得开发者能够创建并发执行的程序。多线程是一种在同一程序中同时执行多个线程的机制,每个线程都是独立运行的,并且可以共享相同的资源。在Java中,多线…

设计模式之观察者模式【行为型模式】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档> 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某…

把图表题注编号由“0.1”改为“1.1“ (方法二)

前置设置: 手打章节标题,“第一章 绪论”,“第二章 相关理论和技术方法”。给章节标题设置样式 “标题一”,设置为一级标题。打开导航窗格,可以不开,我纯粹是为了操作方便。直接先给图片插入题注&#xff…

cpolar 内网穿透 使用

cpolar 内网穿透 使用 官网地址:https://www.cpolar.com/ 官网文档:https://www.cpolar.com/blog/cpolar-quick-start-tutorial-centos-series 获取隧道Authtoken:https://dashboard.cpolar.com/auth 步骤 1、先去注册 在这个地方注册&…

开发规范及常用工具

一、定义对象规范 entity : 是与数据库一一对应的字段 vo : 返回给前端的视图对象 dto : 前端传过来的参数封装成dto,用于返回给前端的对象,一般用于查询操作。 POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。 1、entity实体类与数据库中的字段一一对应…

重磅2023年度openGauss标杆应用实践案例正式揭晓

12月28日,在openGauss Summit 2023峰会上,正式揭晓了“2023年度openGauss标杆应用实践案例”。 数据库作为企业IT系统的核心组成部分,是数字基础设施建设的关键,也是实现数据安全稳定的保障。为更好地推动产业技术创新&#xff0…

使用Linux防火墙管理HTTP流量

在Linux系统中,防火墙是用于控制网络流量的重要工具。通过防火墙,你可以根据需要限制、过滤或允许特定的网络流量,从而提高系统的安全性。在处理HTTP流量时,防火墙可以帮助你实施访问控制、流量监控和其他安全策略。 iptables i…

PPT插件-大珩助手-免费功能-特殊格式介绍

上、下标切换 直接切换选中的字符为上、下标。 大小金额 支持超大金额的大写金额转换 当前日期 本次打开文件的时间 转二维码 将当前选中的文字,转为二维码图片,并插入到PPT当前位置 特殊字符 内置常用的特殊字符,点击使用 软件介绍 …

美易官方:美银预计今年日本股市将上涨13%,创历史新高

根据美银的预测,今年日本股市将上涨13%,创历史新高。这一预测是基于多种因素的综合分析得出的,其中包括日本经济的复苏、企业盈利的改善以及全球经济的稳定等。 首先,日本经济的复苏是推动股市上涨的重要因素之一。近年来&#xf…

Java多线程并发篇----第五篇

系列文章目录 文章目录 系列文章目录前言一、Java中interrupted 和 isInterruptedd方法的区别?二、Java中synchronized 和 ReentrantLock 有什么不同?三、有三个线程T1,T2,T3,如何保证顺序执行?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分…

关于CodeReview的一些实践和思考

在日常开发中,Code Review 的重要性日益凸显。它不仅有助于提升代码质量,还促进了团队成员之间的知识共享和技能提升。本文将主要聚焦于 Code Review,分享在这个过程中的一些心得和思考。 CodeReview常用到的一些术语 之前看到公司的大佬经…

对象的复制

方式一:sv 的new函数 trans tr1,tr2; malbox.get(tr2); tr1 new tr2;//仅用于浅拷贝,拷贝后tr1,tr2为两个独立的对象方式二:uvm 域的自动化常用函数:copy / clone / 使用前提: 1. 函数都可用于uvm_object类型&…

autoxjs 安卓爬虫自动化

autoxjs 安卓爬虫自动化 我这里只是测试请勿用于违法的 我这里是小红书 文章目录 autoxjs 安卓爬虫自动化前言一、自动刷直播间并且抓取商品已经粉丝数量等?总结 前言 欢迎来到AutoXJS的世界,这是一个充满创新、挑战和技术探索的领域。在这个引领未来的…

基于Springboot+vue高校宿舍管理系统(前后端分离)

该项目完全免费 高校宿舍管理系统采用前后端分离的架构方式,是为学校宿舍管理打造的一套系统,可以让管理者更为便捷地处理学生公寓问题,从而大大提高管理效率,让学生公寓的资源合理分配,事半功倍,进而改善了学生公寓管理。 系统分为三种角色,分别是系统…

小巧且兼具高性能的小模型 TinyLlama 等

TinyLlama-1.1B 小模型在边缘设备上有着广泛的应用,如智能手机、物联网设备和嵌入式系统,这些边缘设备通常具有有限的计算能力和存储空间,它们无法有效地运行大型语言模型。因此,深入探究小型模型显得尤为重要。 来自新加坡科技…

Google play开发者个人账号转为企业账号,需要用到邓白氏编码吗?还需要“20+14”测试吗?

目前,我们都知道,谷歌对开发者企业号的风控相较于个人号来说较为松懈,过审或上架成功率更高。这是因为谷歌可以通过企业号的注册信息,例如企业的经营状态、报税记录等数据信息来判断该账号是否滥用资料或进行其他违规行为。 因此&…

[ 机器学习 ] 关于Jupyter Notebook中pytorch模块import失败的问题

0x01、问题描述 在使用WSL搭建Jupyter进行代码测试的时候 发现Miniconda(虚拟环境均适用)中安装的pytorch在Jupyter里面import失败 但在python解释器的命令模式里可以测试import成功 并且torch.cuda_available()打印True 以前用的是IDEA没怎么用Jup…

Navicat迁移局域网内其他PC机的MySQL数据库

迁移局域网内其他PC机的MySQL数据库到本机 查看局域网IP 设置可远程连接的账号 开放本机防火墙的3306端口 连接PC机的MySQL 利用Navicat迁移数据库 刚换了个电脑,旧电脑的MySQL数据库太多了,转成.sql文件,再传输到新电脑上运行&#xff…

CSS3新增边框样式

边框样式 概念:在CSS3中,针对元素边框增加了丰富的修饰属性。 常见的边框样式属性有以下 属性说明border-radius圆角效果box-shadow边框阴影border-image边框背景 border-radius属性 概念:border-radius属性可以为元素添加圆角效果 语法&#xff1…

盘点五大设备巡检系统!内附巡检注意事项及巡检要点

在繁忙的工业生产现场,设备高效运行是保证生产顺利开展的关键。为了确保设备的稳定性和生产的安全性,设备巡检工作变得尤为重要。 举个通俗易懂的例子—— 你开了一家钢铁制造厂,工厂拥有多条自动化生产线,每天24小时不间断地运…