首页 > 其他分享 >Docker部署项目

Docker部署项目

时间:2023-07-25 16:35:58浏览次数:30  
标签:容器 项目 部署 jar mysql 3307 Docker docker 端口号

docker部署Springboot项目

主要分为两步吧

1、在打包之前需要修改配置文件,将数据库改为虚拟机的地址端口号自定,如下:

① 先安装MySQL的镜像

docker pull mysql:8.0.26

安装成功后可以通过docker images查看mysql是否安装成功

至于安装速度缓慢的问题,可以采用阿里云的镜像加速,这个是免费的在控制台可以直接搜索

 

根据自己的需求进行配置就可以了,json文件是需要自己创建的,找到/etc/docker目录自己创建即可,至于这种方法我尝试 是有效的,如果效果不大,可以更改网络,或者配置其它的镜像。

② 安装mysql成功后

docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=jiang123456 --name my_mysql mysql
  • -d: 这是docker run命令的一个选项,表示以“后台运行”(detached)模式启动容器,即容器在后台运行而不会占据终端。

  • -p 3307:3306: 这是另一个docker run命令的选项,用于将主机(host)的3307端口映射到容器内的3306端口。这样,通过在主机上连接3307端口,可以访问运行在Docker容器内的MySQL服务。左边的端口号3307是主机上的端口,右边的端口号3306是容器内运行的MySQL服务的端口号。

所以你的项目中要修改

url: jdbc:mysql://192.168.52.6:3307/takeaway   虚拟机的ip地址192.168.52.6,3307就是端口号
  • -e MYSQL_ROOT_PASSWORD=jiang123456: 这是用于设置MySQL容器的环境变量的选项。在这里,MYSQL_ROOT_PASSWORD是环境变量的名称,jiang123456是变量的值。该选项设置了MySQL数据库的root用户的密码为jiang123456

  • --name my_mysql: 这个选项为容器指定了一个名称,即my_mysql,这样可以方便地引用容器,例如在其他命令中使用这个名称来停止或管理容器。

  • mysql: 这是要运行的Docker镜像的名称,即MySQL官方提供的官方镜像。Docker会在Docker Hub 上搜索名为mysql的镜像并下载运行。

安装成功之后可以通过以下命令进入mysql的命令窗口

 docker exec -it 自己的容器名称 bash   进入bash,这个命令同样可以进入不同的容器bash命令窗口,例如java的只需要更改容器名称即可
exit 可以退出bash

这个也可以进行远程连接,利用sqlyog等工具,可以更为快捷的导入sql文件。

完成以上部分基本完成一大半了,下面只需要导入jar包即可

②、将修改后的项目打包,并将jar导入虚拟机中,我是放在了一个Docker文件夹下,这个随意了

 

jar包导入之后需要创建Dockerfile文件进行配置,

FROM openjdk:8-alpine
COPY ./reggie.jar /tmp/app.jar
EXPOSE 8081
ENTRYPOINT java -jar /tmp/app.jar

配置完成后,以下命令需要在该目录下进行

 # build镜像
docker build -t reggie:1.0 .
# 容器
docker run -d -p 8081:8081 --name reggiec reggie:1.0

这与这个端口号映射问题我给举个例子
第一个端口号是主机上的端口,第二个端口号是容器内的端口。
也就是第一个可以是任意的端口号,第二个则是需要与你的jar包项目的配置文件端口号一致

docker run -d -p 8089:8081 --name reggiecc reggie:1.0

假如我的项目中端口号配置是8081,上面的运行后访问就可以是192.168.52.6:8081,然后下面运行就是192.168.52.6:8089

完成之后就可以在游览器中访问了
 

标签:容器,项目,部署,jar,mysql,3307,Docker,docker,端口号
From: https://www.cnblogs.com/jyt604743080/p/17580182.html

相关文章

  • 专业敏捷项目管理培训内容及适合人群
    ​Scrum是目前运用最为广泛的敏捷开发方法,是一个轻量级的项目管理和产品研发管理框架。这是一个两天的实训课程,面向研发管理者、项目经理、产品经理、研发团队等,旨在帮助学员全面系统地学习Scrum和敏捷开发,帮助企业快速启动敏捷实施。课程采用案例讲解+沙盘演练的方式授课,通过......
  • uni-app 中模拟器真机运行项目
    1.安装模拟器MuMu 2.配置环境变量找到HbuilderX的安装目录,查找adb.exe文件,复制serve.exe所在文件目录的路径,配置到系统变量的Path中         3.在模拟器中进行配置注意:端口为7555不同模拟器的默认端口是不一样的adb的路径一定是HbuilderX的adb路径,使......
  • Docker 基础介绍
    DockerDocker是时下热门的容器技术,Docker是os层虚拟化架构(虚拟出来的操作系统和宿主机操作系统共享一个内核)的一种体现产品。   容器化技术(我们可以把tomcat,redis,nginx……安装docker容器中),可以方便对软件的环境(开发环境/测试环境/生产环境……)进行搬运,可以极大的减少部署......
  • vue项目目录结构和启动过程
     1.首先是index.htmlindex.html则是项目的首页,入口页,也是整个项目唯一的HTML页面。一般只定义一个空的根节点,在main.js里面定义的实例将挂载在根节点下,内容都通过vue组件来填充。2.src/main.js相当于Java中的main方法,是整个项目的入口js。主要是引入vue框架,根组件及路由设......
  • .Net 项目类型区别 Windows窗体应用程序
    .NET框架(特定于Windows),然后使用WindowsFormsApp(.NETFramework)。Windows窗体应用程序(.NETFramework) 解决方案默认名称:windowsFormsApp.NET核心/.NET(跨平台),然后使用WindowsFormsApp。Windows窗体应用程序  解决方案默认名称:winFormsApp......
  • 用Dockerfile实现构建带sshd服务的自定义镜像
    使用Dockerfile构建带sshd服务的自定义镜像教程简介Docker是一种轻量级的容器化平台,可以帮助我们更方便地构建、部署和运行应用程序。本教程将教你如何使用Dockerfile来构建一个带sshd服务的自定义镜像。整体流程下面是构建自定义镜像的整体流程,我们将通过表格的形式展示每个步......
  • 03-docker常用命令
    1.dockerps-a:显示运行后的容器,使用-a则显示全部,不使用-a只显示成功运行2.dockerrmi镜像名/镜像ID:删除镜像文件3.dockerstop容器名/容器ID:停止正在运行的容器4.dockerrm容器名/容器ID:删除停止的容器5.dockerlogs容器名:查看运行容器的运行日志6.dockerstart容......
  • 00-docker虚拟化技术基础
    1.虚拟化技术的概念虚拟化技术主要是将物理的资源转变为逻辑上可以管理的资源,以打破物理资源结构之间的壁垒,让计算的元件运行在虚拟的基础上,而不是直接运行在物理的资源上。虚拟化技术的底层是要进行虚拟的硬件设备物理机资源,通过虚拟化技术软件可以将物理机虚拟生成N台虚拟机,......
  • ubuntu22.04部署mysql---主从
    1、首先部署mysql主服务:详见上一篇《ubuntu22.04部署mysql---单机》https://blog.51cto.com/u_14175560/6766135上述部署好后,主节点server_id:vim/etc/mysql/my.cnf##新增配置:[mysqld]server_id=1重启mysql:systemctlrestartmysql登录mysql,指定从节点IP,运行下述(注意修改......
  • 代理IP的扩展和分布式部署策略​
    代理IP的扩展和分布式部署策略在如今信息爆炸的时代,网络抓取已经成为许多行业中必不可少的一环。而要进行网络抓取,使用代理IP是一种常见的方式。然而,在应对大规模数据爬取的需求时,我们需要考虑代理IP的扩展和分布式部署策略,以提高网络抓取的稳定性和效率。本文将向您介绍一些关键策......