在腾讯云新买的洁白如新的云服务器,想要使用docker去部署springboot项目,特此记录!
参考博客:https://blog.csdn.net/weixin_45853881/article/details/123402891
直接在腾讯云平台登陆云服务器之后,执行下面的命令:
java -version
rpm -qa | grep java
由于是刚买的腾讯云服务器,所以里面是空的,也就不存在卸载jdk一说了,下面就直接开始安装了。
安装需要确保有良好的网络环境就可以。
yum search java|grep jdk
sudo yum install -y java-11-openjdk
看到最后有一个complete!就算安装完成了,我们再检查一下版本!
这样就安装完成了!
在IDE中,直接右键双击package就可以看到打包的结果了
打好的包
验证一下打的包是否能正常启动:进入打好的包的路径下,执行:
java -jar access-control-0.0.1-SNAPSHOT.jar
项目可以正常启动,再看下Apifox上能不能正常访问:
这样说明程序可以正常运行,接着就把包挪到服务器上。
Dockerfile文件内容:
# 设置JAVA版本
FROM openjdk:11
WORKDIR /home/xxxx/project/access_control
VOLUME /tmp
COPY *.jar access.jar
ENV JAVA_OPTS="\
-server \
-Xms256m \
-Xmx512m \
-XX:MetaspaceSize=256m \
-XX:MaxMetaspaceSize=512m"
EXPOSE 8081
ENTRYPOINT [ "sh", "-c", "java -jar $JAVA_OPTS /home/xxxx/project/access_control/access.jar"]
这个文件中的工作目录WORKDIR: /home/xxxx/project/access_control就是我自己建的目录,可以根据自己的需要创建jar所在的目录。
把本地的jar上传的话,可以直接使用腾讯云中的rz
命令就可以了,会弹出来本地的文件夹,就可以把本地的jar传到服务器上了。
毫无疑问,我还没有装过docker,不信可以先执行docker命令试试:
下面的命令全部复制后,一起执行
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache --timer
sudo yum install -y docker-ce
docker -v
systemctl status firewalld
我们的这个防火墙是未激活状态,所以不用关闭了,如果是active状态,就需要关闭防火墙了:
systemctl stop firewalld
systemctl start docker
查看docker的进程
ps -ef|grep docker
docker build -f ./Dockerfile -t access .
sudo docker run -d --name=access -p 8081:8081 access
这里说明一下端口的问题:第一个8081是对外访问的端口,第二个8081是服务中的application.properties中配置的8081端口。
sudo docker logs 容器id
curl --location --request POST 'http://localhost:8081/access/dept/getTree'
接着我们再使用Apifox进行访问看看:
访问超时了,这是由于腾讯云上没有开通端口权限。
在腾讯云服务器-服务器-防火墙-添加规则后,应用类型选择【全部TCP】后点击【确定】
再次访问:
至此,在linux上使用docker从0部署springboot项目就算大功告成了。
---------你知道的越多,不知道的越多------------