首页 数据库 Redis Docker怎么部署SpringBoot项目整合Redis镜像做访问计数

Docker怎么部署SpringBoot项目整合Redis镜像做访问计数

Jun 02, 2023 am 10:37 AM
redis docker springboot

最终效果如下

Docker怎么部署SpringBoot项目整合Redis镜像做访问计数

大概就几个步骤

1.安装 Docker CE 2.运行 Redis 镜像 3.Java 环境准备 4.项目准备 5.编写 Dockerfile 6.发布项目 7.测试服务

环境准备

  • 系统:Ubuntu 17.04 x64

  • Docker 17.12.0-ce

  • IP:45.32.31.101

一、安装 Docker CE

国内不建议使用:“脚本进行安装”,会下载安装很慢,使用步骤 1 安装,看下面的链接:常规安装方式

1.常规安装方式

Ubuntu 17.04 x64 安装 Docker CE

2.脚本进行安装

国内安装不建议使用脚本:

安装Docker CE

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
登录后复制
<output truncated>
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
 sudo usermod -aG docker your-user
Remember that you will have to log out and back in for this to take effect!
WARNING: Adding a user to the "docker" group will grant the ability to run
 containers which can be used to obtain root privileges on the
 docker host.
 Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
 for more information.
登录后复制

验证Docker CE

通过运行 hello-world 镜像 验证是否正确安装了 Docker CE

$ sudo docker run hello-world
root@souyunku:~# sudo docker images
REPOSITORY TAG  IMAGE ID CREATED SIZE
hello-world latest f2a91732366c 7 weeks ago 1.85kB
登录后复制

二、运行 Redis 镜像

1.运行镜像

$ docker run --name redis-6379 -p 6379:6379 -d redis
Unable to find image 'redis:latest' locally
latest: Pulling from library/redis
c4bb02b17bb4: Pull complete 
58638acf67c5: Pull complete 
f98d108cc38b: Pull complete 
83be14fccb07: Pull complete 
5d5f41793421: Pull complete 
ed89ff0d9eb2: Pull complete 
Digest: sha256:0e773022cd6572a5153e5013afced0f7191652d3cdf9b1c6785eb13f6b2974b1
Status: Downloaded newer image for redis:latest
2f1f20f672e386a61644e1c08232ea34bdfd6a0c244b55fa833fcfd6dd207288
登录后复制

2.检查镜像

查看镜像

root@souyunku:~# docker images redis
REPOSITORY TAG  IMAGE ID CREATED SIZE
redis latest 1e70071f4af4 4 weeks ago 107MB
登录后复制

查看镜像进程

root@souyunku:~# docker ps
CONTAINER ID IMAGE COMMAND  CREATED STATUS PORTS  NAMES
2f1f20f672e3 redis "docker-entrypoint.s…" 14 seconds ago Up 14 seconds 0.0.0.0:6379->6379/tcp redis-6379
登录后复制

查看容器进程

root@souyunku:~# docker container ps
CONTAINER ID IMAGE COMMAND  CREATED STATUS PORTS  NAMES
2f1f20f672e3 redis "docker-entrypoint.s…" 7 minutes ago Up 7 minutes 0.0.0.0:6379->6379/tcp redis-6379
登录后复制

3.测试Redis服务

通过 redis-cli 连接 Redis 服务,测试存储数据

root@souyunku:~# docker run -it --link redis-6379:redis --rm redis redis-cli -h redis -p 6379
redis:6379> set count 1
OK
redis:6379> get count
"1"
redis:6379> exit
root@souyunku:~#
登录后复制

三、Java 环境准备

注意:阅读以下步骤!!!

1.Java 环境是为了,编译 Github Maven SpringBoot 示例项目,准备

2.或者自己在本地编译好上传也行,那么以下 Java 环境,安装: Jdk , Maven , Git ,就可以不用配置

1.安装 Jdk

下载JDK 方式:1

下载Linux环境下的jdk1.8,请去(官网)中下载jdk的安装文件

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下载JDK 方式:2

我在百度云盘分下的链接: http://pan.baidu.com/s/1jIFZF9s 密码:u4n4

下载JDK 方式:3

使用wget下载,

$ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz
登录后复制

注意,如果使用:下载JDK 方式:3

那么以下步骤的, jdk1.8.0_144 替换成 jdk1.8.0_141

开始安装

上传在 /opt 目录

解压

$ cd /opt
$ tar zxvf jdk-8u144-linux-x64.tar.gz
$ mv jdk1.8.0_144/ /lib/jvm
登录后复制

配置环境变量

$ vi /etc/profile
#jdk
export JAVA_HOME=/lib/jvm
export JRE_HOME=${JAVA_HOME}/jre 
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 
export PATH=${JAVA_HOME}/bin:$PATH
登录后复制

使环境变量生效

$ source /etc/profile
登录后复制

验证

root@souyunku:~# java -version
java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
登录后复制

2.安装 Maven

$ apt-get install maven
登录后复制

验证Maven

root@souyunku:~# mvn -v
Apache Maven 3.3.9
Maven home: /usr/share/maven
Java version: 1.8.0_141, vendor: Oracle Corporation
Java home: /lib/jvm/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.10.0-35-generic", arch: "amd64", family: "unix"
登录后复制

3.安装 Git

$ apt-get install git
登录后复制

验证Maven

root@souyunku:~# git --version
git version 2.11.0
登录后复制

四、项目准备

1.编译项目

1.自己在服务器Maven编译项目

使用 git 克隆项目

$ git clone https://github.com/souyunku/other-projects.git
登录后复制

使用 maven 编译项目

$ cd other-projects/docker-spring-boot-demo/
登录后复制

2.修改项目

修改 Redis 服务器地址 spring.redis.host=45.32.44.217 ,为本地 IP , 在运行 Redis 镜像时候 已经把 Redis 做成外网服务了 0.0.0.0:6379->6379/tcp

$ vi src/main/resources/application.properties
# Redis服务器地址
spring.redis.host=45.32.44.217
$ mvn package
登录后复制

复制 target/ 目录下的 docker-spring-boot-demo-0.0.1-SNAPSHOT.jar 项目到 /opt 目录稍后会用到

$ cp target/docker-spring-boot-demo-0.0.1-SNAPSHOT.jar /opt/
登录后复制

2.自己在本地 Maven 编译项目,然后上传到 /opt 目录稍后会用到

修改 application.properties 的 Redis 服务器地址

other-projects/docker-spring-boot-demo/src/main/resources/application.properties
# Redis服务器地址
spring.redis.host=45.32.44.217
登录后复制

五、编写 Dockerfile

编写 Dockerfile 基于 java:8 镜像为基础

$ cd /opt/
$ touch Dockerfile
$ vi Dockerfile
登录后复制

编辑内容个如下

# 基于哪个镜像
FROM java:8
# 将本地文件夹挂载到当前容器
VOLUME /tmp
# 拷贝文件到容器,也可以直接写成ADD docker-spring-boot-demo-0.0.1-SNAPSHOT.jar /souyunku-app.jar
ADD docker-spring-boot-demo-0.0.1-SNAPSHOT.jar souyunku-app.jar
RUN bash -c 'touch /souyunku-app.jar'
# 开放80端口
EXPOSE 80
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/souyunku-app.jar"]
登录后复制

六、发布项目

1.编译镜像

$ cd /opt/
$ docker build -t souyunku-app:v1 .
登录后复制

看到如下信息,就证明你的 Dockerfile 写的没毛病,而且镜像也编译成功了

Sending build context to Docker daemon 18.72MB
Step 1/6 : FROM java:8
8: Pulling from library/java
5040bd298390: Pull complete 
fce5728aad85: Pull complete 
76610ec20bf5: Pull complete 
60170fec2151: Pull complete 
e98f73de8f0d: Pull complete 
11f7af24ed9c: Pull complete 
49e2d6393f32: Pull complete 
bb9cdec9c7f3: Pull complete 
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:8
 ---> d23bdf5b1b1b
Step 2/6 : VOLUME /tmp
 ---> Running in 0559a62b0cd5
Removing intermediate container 0559a62b0cd5
 ---> b1f3846913a4
Step 3/6 : ADD docker-spring-boot-demo-0.0.1-SNAPSHOT.jar souyunku-app.jar
 ---> 9f60dad5d2ac
Step 4/6 : RUN bash -c 'touch /souyunku-app.jar'
 ---> Running in 39d5c09ab614
Removing intermediate container 39d5c09ab614
 ---> 2b691adf7922
Step 5/6 : EXPOSE 80
 ---> Running in 11a577437a23
Removing intermediate container 11a577437a23
 ---> 78815d6fe6b2
Step 6/6 : ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/souyunku-app.jar"]
 ---> Running in eca10fed3d02
Removing intermediate container eca10fed3d02
 ---> 8ec4e85a0f05
Successfully built 8ec4e85a0f05
Successfully tagged souyunku-app:v1
登录后复制

2.查看镜像

root@souyunku:/opt# docker images souyunku-app
REPOSITORY TAG  IMAGE ID CREATED SIZE
souyunku-app v1  8ec4e85a0f05 2 minutes ago 681MB
登录后复制

3.运行镜像

后台守护进程运行,然后把容器端口映射到,外网端口 80

root@souyunku:/opt# docker run --name MySpringBoot -d -p 80:80 souyunku-app:v1
e68d438603619e363883d4eae65d3918e1c3e00f867731207bccf06f5690dc64
登录后复制

4.查看进程

查看容器进程,可以看到 redis 在 6379 端口, MySpringBoot 项目在 80 端口

root@souyunku:/opt# docker container ps
CONTAINER ID IMAGE COMMAND  CREATED STATUS PORTS  NAMES
e68d43860361 souyunku-app:v1 "java -Djava.securit…" About a minute ago Up About a minute 0.0.0.0:80->80/tcp MySpringBoot
0f9646171edd redis "docker-entrypoint.s…" 39 minutes ago Up 39 minutes 0.0.0.0:6379->6379/tcp redis-6379
登录后复制

七、测试服务

浏览器访问: http://127.0.0.1/ ,当然我没有输入 127.0.0.1 我是在服务器上直接做的,用的公网IP

Docker Compose

Docker Compose 是 Docker 官方编排( Orchestration )项目之一,负责快速在集群中部署分布式应用。

一个使用 Docker 容器的应用,通常由多个容器组成。使用 Docker Compose ,不再需要使用 shell 脚本来启动容器。在配置文件中,所有的容器通过 services 来定义,然后使用 docker-compose 脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器。

以上是Docker怎么部署SpringBoot项目整合Redis镜像做访问计数的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

docker镜像源怎么换国内 docker镜像源怎么换国内 Apr 15, 2025 am 11:30 AM

可切换到国内镜像源,步骤如下:1. 编辑配置文件 /etc/docker/daemon.json,添加镜像源地址;2. 保存退出后,重启 Docker 服务 sudo systemctl restart docker,即可提升镜像下载速度和稳定性。

docker desktop怎么用 docker desktop怎么用 Apr 15, 2025 am 11:45 AM

如何使用 Docker Desktop?Docker Desktop 是一款工具,用于在本地机器上运行 Docker 容器。其使用步骤包括:1. 安装 Docker Desktop;2. 启动 Docker Desktop;3. 创建 Docker 镜像(使用 Dockerfile);4. 构建 Docker 镜像(使用 docker build);5. 运行 Docker 容器(使用 docker run)。

docker怎么创建镜像 docker怎么创建镜像 Apr 15, 2025 am 11:27 AM

创建 Docker 镜像步骤:编写包含构建指令的 Dockerfile。在终端中构建镜像,使用 docker build 命令。标记镜像,使用 docker tag 命令分配名称和标签。

docker版本怎么看 docker版本怎么看 Apr 15, 2025 am 11:51 AM

要获取 Docker 版本,您可以执行以下步骤:运行 Docker 命令“docker --version”来查看客户端和服务器版本。对于 Mac 或 Windows,还可以通过 Docker Desktop GUI 的“版本”选项卡或“关于 Docker Desktop”菜单查看版本信息。

docker lnmp怎么调用 docker lnmp怎么调用 Apr 15, 2025 am 11:15 AM

Docker LNMP 容器调用步骤:运行容器:docker run -d --name lnmp-container -p 80:80 -p 443:443 lnmp-stack获取容器 IP:docker inspect lnmp-container | grep IPAddress访问网站:http://&lt;容器 IP&gt;/index.phpSSH 访问:docker exec -it lnmp-container bash访问 MySQL:mysql -u roo

docker怎么搭建私有仓库 docker怎么搭建私有仓库 Apr 15, 2025 am 11:06 AM

您可以构建 Docker 私有仓库以安全地存储和管理容器镜像,提供严格的控制和安全性。步骤包括:创建存储库、授予访问权限、部署仓库、推送镜像和拉取镜像。优点包括安全性、版本控制、减少网络流量和定制化。

docker镜像怎么保存 docker镜像怎么保存 Apr 15, 2025 am 11:54 AM

在 Docker 中保存镜像,可以使用 docker commit 命令创建新的镜像,包含指定容器的当前状态,语法为:docker commit [选项] 容器ID 镜像名称。要保存镜像到仓库,可以使用 docker push 命令,语法为:docker push 镜像名称[:标签]。要导入已保存的镜像,可以使用 docker pull 命令,语法为:docker pull 镜像名称[:标签]。

docker怎么更新镜像 docker怎么更新镜像 Apr 15, 2025 pm 12:03 PM

更新 Docker 镜像的步骤如下:拉取最新镜像标记新镜像为特定标签删除旧镜像(可选)重新启动容器(如果需要)

See all articles