从购买腾讯服务器到docker部署springboot项目

1、配置好要开放的端口并重置密码

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

2、下载Xshell 和 Xftp

Xshell和Xftp官方下载地址
https://www.xshellcn.com/xiazai.html

官网的提供了Home Or School licence ,免费的网址:
https://www.xshell.com/zh/thank-you-download/
在这里插入图片描述
在这里插入图片描述

3、打开 Xshell 连上服务器

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

4、在Xshell上安装宝塔面板

宝塔面板安装命令(注意不同系统区别)

Centos安装脚本 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

Ubuntu/Deepin安装脚本 wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

Debian安装脚本 wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

Fedora安装脚本 wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh 

在这里插入图片描述

复制上面外网地址到浏览器访问

在这里插入图片描述
安全起见,默认以后要重新进入宝塔面板会要求从 Xshell 下使用命令查看访问所需信息,再去浏览器访问,
命令如下

[root@VM-4-9-centos ~]# /etc/init.d/bt default

在软件商店挑选自己需要的软件安装即可,一般 mysql ,tomcat,redis 就够测试了

在这里插入图片描述
修改root密码,然后新建子用户和对应数据库,分配密码,项目的配置文件记得修改成这个数据库相应信息

在这里插入图片描述

5、双击package会自动打成jar包

在这里插入图片描述
打包后在当前项目文件下生成target文件,其路径如下
在这里插入图片描述

如果提示没有maven依赖,修改路径这里
在这里插入图片描述
用Xftp上传jar包 (存放位置不固定)
在这里插入图片描述

6、在Xshell上安装docker

docker下载教程

1、如果已安装这些程序,请卸载它们以及相关的依赖项。

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

2、安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。(阿里地址镜像-> http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo)

$ sudo yum install -y yum-utils

$ sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、更新一下索引,同步腾讯云的docker

$ yum makecache fast

4、安装最新版本的Docker Engine和容器:

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

5、启动Docker

$ sudo systemctl start docker

6、通过运行hello-world 映像来验证是否正确安装了Docker Engine

$ sudo docker run hello-world

测试图
在这里插入图片描述

7、编写Dockerfile文件(必须和jar包放在同一个目录下)

# Docker image for springboot file run
# 基础镜像使用java,第一次用没有java8,配在这里它自己会去下载
FROM java:8
# 作者
MAINTAINER hui <1009595@qq.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp 
# 将jar包添加到容器中并更名为app.jar
ADD shopping-0.0.1-SNAPSHOT.jar app.jar 
# 声明需要暴露的端口,这里的端口号和 项目配置文件中的端口号一致
EXPOSE 8081
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

解释下这个配置文件:

如果是第一次打包,它会自动下载java 8的镜像作为基础镜像,以后再制作镜像的时候就不会再下载了。

VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录

项目的 jar 文件作为 “app.jar” 添加到容器的

ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/./urandom” 作为 Entropy Source

作者:雄关漫道从头越
链接:https://www.jianshu.com/p/397929dbc27d

我的路径图:
在这里插入图片描述

8、使用docker部署项目

制作镜像并命名

在Xsehll中 进入对应jar包目录下执行下面命令

比如我的jar包放在docker1下
$ cd /www/server/tomcat/webapps/docker1

看好,最后面有个"."点,它表示当前目录

-t 参数是为此镜像命名(springbootshop)

$ docker build -t springbootshop .

如果没配加速源这里特别慢
在这里插入图片描述

制作完成后通过docker images命令查看我们制作的镜像

在这里插入图片描述
启动容器(注意服务器相应端口要开放)

#我的项目是访问8081,注意服务器8081端口要开放
#-d参数是让容器后台运行 
#-p 是做端口映射,此时将服务器中的8081端口映射到容器中的8081(项目中端口配置的是8081)端口

$ docker run -d -p 8081:8081 springbootshop

# 挂载文件
$ docker run -v /home/studyonline/image/files:/home/studyonline/image/files -d -p 8082:8082 suydy

$ docker run -v /home/weblog/image/userpicture:/home/weblog/image/userpicture -d -p 8089:8089 webblog

访问项目:公网IP:端口号/XXX
在这里插入图片描述

9、第二次更换jar包再新建docker

首先把打包好的新jar包换上来(删了旧的,传上新的)

1、查看自己前一次建好的镜像:

root@VM-4-9-centos ~]# docker images

在这里插入图片描述
2、显示目前运行的容器container:

[root@VM-4-9-centos ~]# docker ps

在这里插入图片描述
3、根据 容器ID 停止运行

[root@VM-4-9-centos ~]# docker stop 0741aab66419

4、删除原来的镜像

[root@VM-4-9-centos ~]# docker rmi -f shop

在这里插入图片描述
5、重新制作镜像并命名

在Xsehll中 进入对应jar包目录下执行下面命令

比如我的jar包放在docker1下
$ cd /www/server/tomcat/webapps/docker1

看好,最后面有个"."点,它表示当前目录

-t 参数是为此镜像命名(springbootshop)

$ docker build -t springbootshop .

6、启动容器(注意服务器相应端口要开放)

#我的项目是访问8081,注意服务器8081端口要开放
#-d参数是让容器后台运行 
#-p 是做端口映射,此时将服务器中的8081端口映射到容器中的8081(项目中端口配置的是8081)端口

$ docker run -d -p 8081:8081 springbootshop

接着去访问浏览器即可

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值