IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker快速部署SpringBoot项目 -> 正文阅读

[系统运维]Docker快速部署SpringBoot项目

前言

该技术博客是针对于B站教程的笔记总结,部署的项目源码去视频下方寻找下载,原作者为MarkerHup,链接如下:
https://www.bilibili.com/video/BV1dk4y1r7pi?from=search&seid=14843346661632474214&spm_id_from=333.337.0.0

1、安装 Docker

首先打开linux环境,输入以下命令进行安装:

安装
yum install docker

检查是否安装成功
docker --version

#启动
systemctl start docker

如果下载很慢,可以切换到国内的阿里云镜像,进行下载:

换镜像源
sudo vim /etc/docker/daemon.json

内容如下:
{
 "registry-mirrors": ["https://m9r2r2uj.mirror.aliyuncs.com"]
}

保存退出,重启docker:
systemctl restart docker

2、安装 Redis

首先在DockerHub搜索redis,点击进入详情页之后,拉到下面就可以看到how to use,如果需要选择特定的版本,有Supported tags给我们选择,然后如果拉取最新的版本的话,拉到下面就命令教程如下:

拉取redis的镜像
docker pull redis

查看本地redis镜像
docker images

运行redis
docker run --name myredis -p 6379:6379 -d redis redis-server --appendonly yes

docker run表示运行的意思
–name myredis 表示起个名字叫myredis
-p 6379:6379表示把服务器的6379映射到docker的6379端口,这样就可以通过服务器的端口访问docker的端口
-d 表示以后台服务形式运行redis redis redis-server --appendonly yes表示开启持久化缓存模式,可以存到硬盘

3、安装 MySQL

下拉MySQL镜像:
docker pull mysql:5.7.27

Docker运行MySQL:
docker run --name mymysql -e MYSQL_ROOT_PASSWORD=admin -d -p 3306:3306  mysql:5.7.27 

4、安装 RabbitMQ

一行命令搞定,注意RABBITMQ_DEFAULT_PASS=password是设置密码的意思,这行命令中已经偷偷做了下拉镜像等操作:

docker run -d --hostname my-rabbit --name myrabbit -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management

5、安装 ElasticSearch

下拉镜像操作省略:

启动:
docker run -p 9200:9200 -p 9300:9300 -d --name es_643 elasticsearch:6.4.3

进入镜像:
docker exec -it es_643 /bin/bash

安装中文分词插件:
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip

退出并重启镜像
exit
docker restart es_643

6、构建项目的 Docker 镜像

我们使用命令到github上拉取项目:

下拉项目(eblog):
clone https://github.com/MarkerHub/eblog.git

进入文件夹:
cd eblog

打包:
mvn clean package -Dmaven.test.skip=true

将打好的jar包上传到 linux 服务器上!

接下来编写 DockerFile,它能将我们打包好的jar包代码构建成镜像:

FROM java:8
EXPOSE 8080

VOLUME /tmp

ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/{TZ} /etc/localtime && echo "{TZ}" > /etc/timezone

ADD eblog-0.0.1-SNAPSHOT.jar  /app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar"]

FROM java:8 表示基于jdk8环境
EXPOSE 8080 表示对外暴露的端口是8080
VOLUME /tmp 表示挂载到/tmp目录
ADD eblog-0.0.1-SNAPSHOT.jar /app.jar 表示把jar包复制到镜像服务里面的根目录,并改名称app.jar
RUN bash -c ‘touch /app.jar’ 表示执行创建app.jar
ENTRYPOINT [“java”,"-jar","/app.jar"] 表示执行启动命令java -jar

接下来,我们安装Dockrfile,然后用DockerFile把eblog-0.0.1-SNAPSHOT.jar构建成镜像:

构建镜像
docker build -t eblog .

查看镜像
docker images

这步骤完成之后,我们就可以在准备工作就已经完成啦,接下来,我们就直接启动我们的项目

7、运行项目镜像 完成项目启动

命令如下:

docker run -p 8080:8080 -p 9326:9326 --name eblog --link es_643:ees --link myrabbit:erabbit --link mymysql:emysql --link myredis:eredis -d eblog

-p 8080:8080 -p 9326:9326 :9326是因为即时聊天需要用到的ws端口 --link es:ees 表示关联容器,把容器es起别名为ees

查看eblog打印日志:

docker logs -f eblog

到此项目运行成功!

注意: 使用 DockerCompose 更简单

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 17:10:50  更:2021-12-02 17:12:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:29:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码