docker部署springboot项目到服务器
docker部署springboot demo到vps
docker安装
首先检查docker是否安装
docker version

出现上述界面就是安装成功
如果没有安装docker的话,运行以下命令
删除旧版本的docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
安装依赖包(centos)
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
安装docker
yum install docker
启动docker
systemctl enable docker
systemctl start docker
查看安装结果
docker version
配置镜像(如果是阿里云的服务器,安装后默认就是阿里云的docker镜像源,可以不用修改)
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
重启
systemctl restart docker
安装portainer,可视化界面
docker pull portainer/portainer
sudo docker volume create portainer_data
sudo docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
出现以下界面说明安装成功了

如果之前安装过,忘记密码,可以进行如下操作
停止正在运行的Portainer
docker stop "id-portainer-container"
运行重置命令
docker run --rm -v portainer_data:/data portainer/helper-reset-password
如果你的Portainer 挂载目录不是 portainer_data 则会提示
Unable to locate /data/portainer.db on disk
查看你的portainer 挂载信息
docker inspect "id-portainer-container"
需要运行的重置命令为:
docker run --rm -v /var/snap/docker/common/var-lib-docker/volumes/c822de987380b92b5372fad6a19fd26bc6748fadf7ca2e404674cd7bfdcaa387/_data:/data portainer/helper-reset-password
如果成功,输出应如下所示:
Password successfully updated for user: admin
Use the following password to login: &_4#\3^5V8vLTd)E"NWiJBs26G*9HPl1
重新运行portianer
docker start "id-portainer-container"
下面就是进入主页面,可以进行更改密码

安装mysql
docker pull mysql
#MYSQL_ROOT_PASSWORD后面填写自己的root密码
docker run --name mysql80 -e MYSQL_ROOT_PASSWORD=123456-d mysql
#也可以运行如下命令,自动开启MySQL容器在后台运行
docker run -d --name mysql80 -e MYSQL_ROOT_PASSWORD=123456 --restart always mysql
阿里云安全组放行3306端口

使用navicat连接服务器的mysql
这时会出现错误

进入portainer界面mysql的console界面

mysql -uroot -p
此时连接成功

使用以下命令进行授权所有主机进行访问
# 修改授权,赋予任何主机访问数据库的权限
# mysql8.0以下
GRANT ALL PRIVILEGES ON *.* TO “root”@”%” IDENTIFIED BY '数据库密码' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO “root”@”%” IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql8.0以上
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;

navicat连接成功

然后建立数据库
将本地springboot项目打包成jar包
编写dockerfile
FROM openjdk:8
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD user.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
创建docker文件夹,将jar包与Dockerfile移动到该文件夹,进入该文件夹,运行命令:
docker build -t app .
查看镜像
docker images
运行镜像
docker run -d -p 8082:8888 app
访问地址,项目部署成功

docker部署springboot项目到服务器的更多相关文章
- 使用Cloud Toolkit部署SpringBoot项目到服务器
由于我们经常发布项目到测试服,在测试服上调试一些本地无法调试的东西,所以出现了各种打包,然后上传.启动,时间都耗费在这无聊的事情上面了,偶然在网上看到IntelliJ IDEA有 Cloud Tool ...
- docker部署springboot项目
本文介绍一下docker如何部署springboot项目. 前提条件: 1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfi ...
- springboot(十七)-使用Docker部署springboot项目
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下. 首先构建一个简单的 Spring Boot 项目, ...
- 超简单的 Docker部署 SpringBoot项目 步骤
很久之前就用过,一直没有好好写篇博客,今天就总结一下 创建一个 SpringBoot项目 创建一个SpringBoot项目并打成jar包,结构如图 编写 Dockerfile文件 FROM java: ...
- Centos8.3、docker部署springboot项目实战记录
引言 目前k8s很是火热,我也特意买了本书去学习了一下,但是k8s动辄都是成百上千的服务器运维,对只有几台服务器的应用来说使用k8s就有点像大炮打蚊子.只有几台服务器的应用运维使用传统的tomc ...
- IDEA一键部署SpringBoot项目到服务器
1. 安装Alibaba Cloud Toolkit插件 2. 配置部署环境 2.1 为本次部署设置一个名字 2.2 选择被部署文件的生成方式 IDEA提供了三种方式:Maven Build,Uplo ...
- docker 部署springboot项目【转载】
https://www.cnblogs.com/ityouknow/p/8599093.html
- Docker快速上手之部署SpringBoot项目
Docker是基于Go语言实现的云开源项目. Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装.分发.部署.运行等生命周期 ...
- Docker部署Springboot+Vue项目
1 docker使用nginx部署vue项目 1.1 打包vue项目 npm run build vue项目路径下会增加一个dist文件夹,里面就是网页文件 1.2 使用docker 拉取nginx ...
- Docker下部署springboot项目
1.背景 如何在docker容器环境下部署一个springboot项目? 2.具体步骤 第一步:准备一个springboot项目的xxxx.jar包 jar包中用于测试的一个接口如下 第二步:编写Do ...
随机推荐
- 学习httprunner遇到的问题记录
今天研究httprunner遇到了几个问题 1.问题1: 最新的版本4.3.0已经舍弃了locusts,har2case这两个东西 导致运行的时候,出现har2case不是内部命令 一开始以为是没有配 ...
- 【性能优化】优雅地优化慢查询:缓存+SQL修改组合拳
问题描述 单例数据库模式中,后端高并发请求多(读多写少),导致数据库压力过大,关键接口响应变慢,严重影响体验. 需求 减少接口的响应时间. 寻找解决方案 由于问题主要处在数据库压力过大的情况,采用两种 ...
- 一文彻底搞懂Raft算法,看这篇就够了!!!
最近需要设计一个分布式系统,需要一个中间件来存储共享的信息,来保证多个系统之间的数据一致性,调研了两个主流框架Zookeeper和ETCD,发现都能满足我们的系统需求.其中ETCD是K8s中采用的分布 ...
- 社工工具包setoolkit克隆网站钓鱼网站
实验主机:kali win10 (搭建好的dvwa靶场用于克隆登录页) setoolkit简介:setoolkit 是一个开源的社会工程学工具包.有很多选项可以使用更多操作读者自行探究. 实验开始: ...
- Java线程池浅析
1. 什么是线程池?我们为什么需要线程池? 线程池即可以存放线程的容器,若干个可执行现成在"容器"中等待被调度. 我们都知道,线程的生命周期中有以下状态:新建状态(New).就绪状 ...
- Django简介 安装下载 app概念 主要目录介绍
目录 Django简介 前戏 Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,视图V和模版T.这套框架是以比利时的吉普赛爵士吉他手Django Re ...
- Netty之数据解码
一.概况 作为Java世界使用最广泛的网络通信框架Netty,其性能和效率是有目共睹的,好多大公司都在使用如苹果.谷歌.Facebook.Twitter.阿里巴巴等,所以不仅仅是因为Netty有高效的 ...
- UIOTOS:一款无门槛的前端0代码搭建工具
什么是UIOTOS? UIOTOS中文名称前端大师,是一款基于图形技术的前端0代码工具,支持通过连线和嵌套无门槛来搭建各类复杂的的交互界面,包括后台管理系统.组态数据大屏等,实现跟代码开发媲美的效果. ...
- 企名片Js逆向思路
企名片Js逆向思路 这个案例不算难,简单说一下思路. 目标链接:https://www.qimingpian.cn/finosda/project/pinvestment 网站更新了https://w ...
- 第一个c语言项目
怎么写代码呢 工具:编译器 市面上编译器主要有:clang,gcc,win-tc,msvc,turbo c等 怎么写呢 1.创建一个项目(项目名字不能以中文文字命名) 2.创建一个文件(项目名字不能以 ...