广告
返回顶部
首页 > 资讯 > 数据库 >Docker部署Springboot项目(含MySQL+Redis)
  • 292
分享到

Docker部署Springboot项目(含MySQL+Redis)

dockerspringbootmysqlredisjava 2023-09-15 06:09:01 292人浏览 薄情痞子
摘要

使用Docker部署之前写的一个博客项目,主要用到了Mysql和Redis,Redis作网站访问量统计。下面会对具体的部署方式作详细讲解 一、服务器安装Docker 1、删除docker旧版本 sud

使用Docker部署之前写的一个博客项目,主要用到了MysqlRedis,Redis作网站访问量统计。下面会对具体的部署方式作详细讲解

一、服务器安装Docker

1、删除docker旧版本

sudo yum remove docker \                  docker-client \                  docker-client-latest \                  docker-common \                  docker-latest \                  docker-latest-logrotate \                  docker-logrotate \                  docker-engine

2、设置镜像仓库

sudo yum install -y yum-utilssudo yum-config-manager \    --add-repo \    Http://mirrors.aliyun.com/docker-ce/linux/Centos/docker-ce.repo # 阿里云

3、安装Docker

# 安装docker 相关 docker-ce 社区版 docker-ee企业版yum install docker-ce docker-ce-cli containerd.io

这时报错

- Status code: 404 for https://mirrors.aliyun.com/docker-ce/linux/centos/2/x86_64/stable/repodata/repomd.xml

查询os版本
可以看到当前服务器版本是Huawei Cloud EulerOS 的2.0版本

[hqf@ecs-337729 ~]$ cat /etc/os-releaseNAME="Huawei Cloud EulerOS"VERSION="2.0 (x86_64)"ID="hce"VERSION_ID="2.0"PRETTY_NAME="Huawei Cloud EulerOS 2.0 (x86_64)"ANSI_COLOR="0;31"

找到mirrors.aliyun.com/docker-ce/linux/centos路径下发现并没有版本为2的路径,只有7-8。所以只需要修改该路径就行了

[hqf@ecs-337729 ~]$ sudo vim /etc/yum.repos.d/docker-ce.repo[docker-ce-stable]name=Docker CE Stable - $basearchbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stableenabled=1gpGCheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

将$releaserver改成8
之后再次执行

yum install docker-ce docker-ce-cli containerd.io

安装成功!

二、安装mysql

1、拉取Mysql镜像

[hqf@ecs-337729 ~]$ docker pull mysql:8.08.0: Pulling from library/mysql197c1adcd755: Pull complete 45f2e353f7d2: Pull complete 68ec6ece42ef: Pull complete cfa4d9a7b88e: Pull complete 64cab5858b1d: Pull complete 92fcd248d982: Pull complete

2、查看镜像

[hqf@ecs-337729 ~]$ docker imagesREPOSITORY    TAG       IMAGE ID       CREATED         SIZEmysql         8.0       57da161f45ac   2 weeks aGo     517MBhello-world   latest    feb5d9fea6a5   17 months ago   13.3kB

3、运行镜像

[hqf@ecs-337729 ~]$ docker run -d -p 3306:3306 -v mysql_conf:/etc/mysql/conf.d -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWord=123456 --name mysql01 mysql:8.000afe560d1c93a750f9b021da46f9a8544cd466e6263b2574980152885daf5bb

4、查询运行中的容器

[hqf@ecs-337729 ~]$ docker psCONTAINER ID   IMAGE       COMMAND                  CREATED         STATUS         PORTS   NAMES00afe560d1c9   mysql:8.0   "docker-entrypoint.s…"   6 seconds ago   Up 6 seconds   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql01

5、查看容器IP

[hqf@ecs-337729 ~]$ docker inspect mysql01... ...            "IPAddress": "172.17.0.2",            "IPPrefixLen": 16,            "IPv6Gateway": "",            "MacAddress": "02:42:ac:11:00:02",            "Networks": {                "bridge": {                    "IPAMConfig": null,                    "Links": null,                    "Aliases": null,                    "NetworkID": "8131aa939ac0e34ca9e00641ed5d0f21b138815d765c2d36e8e7f1882a3cef32",                    "EndpointID": "38041eab55f2643c750c77235195cd7aaea1b6a16049498259d32da93f547b8e",                    "Gateway": "172.17.0.1",                    "IPAddress": "172.17.0.2",                    "IPPrefixLen": 16,                    "IPv6Gateway": "",                    "GlobalIPv6Address": "",                    "GlobalIPv6PrefixLen": 0,                    "MacAddress": "02:42:ac:11:00:02",                    "DriverOpts": null                }            }

“IPAddress”: “172.17.0.2”
记录下来之后会用到

6、查询卷挂载目录

[hqf@ecs-337729 ~]$ docker volume lsDRIVER    VOLUME NAMElocal     mysql_conflocal     mysql_data[hqf@ecs-337729 ~]$ docker volume inspect mysql_data[    {        "CreatedAt": "2023-02-23T14:56:07+08:00",        "Driver": "local",        "Labels": null,        "Mountpoint": "/var/lib/docker/volumes/mysql_data/_data",        "Name": "mysql_data",        "Options": null,        "Scope": "local"    }]

7、上传.sql文件

到卷挂载目录下上传.sql文件
在这里插入图片描述

8、将数据导入数据库

进入容器

[hqf@ecs-337729 ~]$ docker exec -it mysql01 /bin/bash

创建数据库

mysql> create database blog;

进入数据库

mysql> use blog;

导入数据

mysql> source /var/lib/mysql/blog.sql;

查看导入数据

mysql> show tables;

在这里插入图片描述
导入成功!

9、修改新密码并设置远程连接

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxx';mysql> flush privileges; // 刷新权限

使用navicate连接,成功!

在这里插入图片描述

三、 安装Redis

1、拉取redis镜像

docker pull redis

在这里插入图片描述

2、启动redis容器

docker run -p 6379:6379 --name myredis -v /home/www/redis/redis.conf:/etc/redis/redis.conf -v /home/www/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

3、查看容器进程

如果启动失败,需要将配置文件中的daemonize的参数值改为no
再次启动后成功!
在这里插入图片描述

4、查看redis容器IP

docker inspect myredis

在这里插入图片描述
记录下该地址之后项目配置会用到

5、使用连接工具连接redis

在这里插入图片描述
连接成功!

四、项目部署

1、项目打包

将项目数据库连接IP改成上述MySQL容器IP
在这里插入图片描述
将redis连接IP改成上述Redis容器IP
在这里插入图片描述

2、编写Dockerfile

FROM java:8VOLUME /tmpADD boot-blog-0.0.1-SNAPSHOT.jar app.jarEXPOSE 80ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

3、将Dockerfile和jar包上传至服务器

在这里插入图片描述

4、构建Dockerfile

docker build -t boot-blog:1.0 .

报错

Error response from daemon: manifest for java:8 not found: manifest unknown: manifest unknown

解决
将Dockerfile中FROM java:8 改成 FROM openjdk:8
在这里插入图片描述
然后再次执行构建,成功!

5、查看构建成功的镜像

在这里插入图片描述

6、运行镜像

docker run -d -p 80:80 --name boot-blog boot-blog:1.0

在这里插入图片描述

7、容器启动后停止

查看容器运行日志

docker logs <container-id>

在这里插入图片描述
在数据库连接url后添加allowPublicKeyRetrieval=true
在这里插入图片描述
重新打包上传并运行

8、运行成功

浏览器访问服务器IP
在这里插入图片描述

来源地址:https://blog.csdn.net/oNew_Lifeo/article/details/129224974

您可能感兴趣的文档:

--结束END--

本文标题: Docker部署Springboot项目(含MySQL+Redis)

本文链接: https://www.lsjlt.com/news/408212.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker部署Springboot项目(含MySQL+Redis)
    使用Docker部署之前写的一个博客项目,主要用到了MySQL和Redis,Redis作网站访问量统计。下面会对具体的部署方式作详细讲解 一、服务器安装Docker 1、删除docker旧版本 sud...
    99+
    2023-09-15
    docker spring boot mysql redis java
  • 【Docker】docker部署springboot+vue+mysql+nginx前后端分离项目【部署实战篇】
    文章目录 0、安装docker并准备一个springboot-vue前后端分离项目前后端打包放到服务器上1、docker 安装jdk2、docker 安装mysql通过Docker命令进入My...
    99+
    2023-09-03
    docker spring boot vue.js
  • Docker快速部署SpringBoot项目介绍
    1、安装 Docker 首先打开linux环境,输入以下命令进行安装: 安装 yum install docker 检查是否安装成功 docker --version #启动...
    99+
    2022-11-12
  • SpringBoot项目docker容器部署实现
    目录一、修改docker.service,使其暴露2375端口二、netstat -tulp查看端口情况三、添加依赖四、在idea中 Settings->Docker配置远程d...
    99+
    2022-11-13
  • Docker怎么快速部署SpringBoot项目
    这篇文章主要介绍“Docker怎么快速部署SpringBoot项目”,在日常操作中,相信很多人在Docker怎么快速部署SpringBoot项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker怎么快...
    99+
    2023-06-21
  • Docker compose部署SpringBoot项目连接MySQL及遇到的坑
    前面使用docker简单部署了下SpringBoot项目并介绍了什么是Dockerfile,如果是镜像比较多的情况下如何一键交付呢?Docker-compose!,理解了Docker...
    99+
    2022-11-12
  • Docker部署Java 项目
    1、 连接服务器,创建项目文件夹  1  根据服务器提供的公网IP地址,用 Xshell 连接上 在当前目录下,通过 # mkdir jty-nx,创建一个项目部署文件夹, jty-nx:是文件名   2、创建Dockerfil...
    99+
    2023-09-23
    docker java 容器
  • docker部署golang项目
    随着云计算和微服务架构的兴起,容器技术也越来越受到开发者的关注。其中Docker是目前最流行的容器化解决方案之一。本文将介绍如何使用Docker来部署Golang项目,使得我们的应用程序能够更加方便地管理和部署。一、Docker基础知识Do...
    99+
    2023-05-15
  • 【云原生| Docker】 部署 Django & mysql 项目
    🤵‍♂️ 个人主页: @计算机魔术师 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。 🌐 推荐一款找工作神器网站: 点...
    99+
    2023-09-01
    云原生 docker django python 后端
  • Docker怎么部署springboot项目到腾讯云
    这篇“Docker怎么部署springboot项目到腾讯云”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Docker怎么部署...
    99+
    2023-06-29
  • Gitlab-runner+Docker实现自动部署SpringBoot项目
    目录1.环境要求当前我的服务版本2.主要流程3.GitlabRunner 安装和注册3.1 安装总结一共就2个步骤:1.添加gitlab官方库:2.命令安装:3.2 开始注册4.制作...
    99+
    2022-11-13
  • idea中如何将springboot项目部署到docker
    这篇“idea中如何将springboot项目部署到docker”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“idea中如何...
    99+
    2023-06-08
  • 使用Docker部署打包发布springboot项目
    目录前言第一:环境第二:开始描述从搞项目到docker发布:第四:各种错误教训集合。前言 从安装docker到多种方式打包发布,编译,镜像,容器等问题,遇到种种问题,终于不负所望,一...
    99+
    2022-11-13
  • Dockerfile部署SpringBoot项目
    Dockerfile部署SpringBoot项目 文章目录 利用Dockerfile部署SpringBoot项目 1、创建一个SpringBooot项目并且打成jar包2、在Linux中...
    99+
    2023-09-29
    spring boot java docker
  • 部署.Net6项目到docker
    部署.net6项目到docker 【1】新建.net6 mvc或webapi项目; 【2】在mvc或webapi项目的根目录下创建Dockerfile文件,并设置为始终复制; Doc...
    99+
    2022-11-12
  • 用Docker部署Java项目
    Docker是一种容器化技术,可以帮助开发者轻松打包应用程序和依赖项,并在任何地方运行它们。在本文中,我们将介绍如何使用Docker部署Java项目。 第一步: 创建Dockerfile文件                         ...
    99+
    2023-09-03
    java docker 开发语言
  • IDEA集成docker部署springboot项目的全过程
    目录1.IDEA下载docker插件2.云服务器docker2.1 docker的安装2.2 停止docker服务2.3 docker配置文件修改2.4 刷新配置文件2.5 启动do...
    99+
    2022-11-12
  • 使用Docker部署SpringBoot项目的实现步骤
    目录创建一个简单的springboot项目一、在 pom.xml 中 ,使用 Spring Boot 2.2.10 相关依赖二、添加 web 和测试依赖三、创建一个 DockerCo...
    99+
    2022-11-12
  • IDEA如何通过Docker插件部署SpringBoot项目
    这篇文章主要介绍了IDEA如何通过Docker插件部署SpringBoot项目,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、配置Docker远程连接端口找到并编辑服务器上...
    99+
    2023-06-21
  • SpringBoot项目docker容器部署的示例分析
    这篇文章主要介绍了SpringBoot项目docker容器部署的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、修改docker.service,使其暴露2375端...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作