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

完成之后就可以在游览器中访问了
 
posted @ 2023-07-25 15:48  O_O似曾相识  阅读(151)  评论(0编辑  收藏  举报