1. 安装docker
# 1、yum 包更新到最新
yum update
# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4、 安装docker,出现输入的界面都按 y
yum install -y docker-ce
# 5、 查看docker版本,验证是否验证成功
docker -v
# 6、设置docker开机自启动
systemctl enable docker
补充命令:
启动docker
systemctl start docker
关闭docker
systemctl stop docker
重启docker服务
systemctl restart docker
出现docker版本代表安装成功
2. docker安装数据库
# 搜索mysql镜像
docker search mysql
# 拉取mysql镜像
docker pull mysql:5.7
# 创建容器
mkdir ~/mysql
cd ~/mysql
# 设置端口映射、目录映射
docker run -id \
-p 3306:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7
- -p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。
- -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
- -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
- -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
- -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码,这里设置的密码要与jar中的数据库密码password一致。
# 查看正在运行的容器
docker ps
根据id设置容器自启动(容器id填上方划线)
docker update --restart=always 容器id
使用本地的数据库连接工具连接部署好的mysql(主机为服务器的公网ip,端口为映射的主机端口我映射的3307:3306所以此处填写3307,用户名默认root,密码是上一步设置的123456)
3. 使用数据库连接工具导入数据库以及数据
4. 修改springboot项目配置
在打包之前将项目依赖添加进jar包中
并设置主类
在pom.xml文件中添加打包插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>
<!--这里配置添加自己项目启动类的全类名-->
</mainClass>
</configuration>
</plugin>
</plugins>
</build>
修改springboot项目的配置文件中数据库连接,并且设置端口
使用maven生命周期的的package命令打包,在target中找到jar包,并且重命名为app.jar
在本地开命令行进入app.jar的目录,使用java -jar app.jar测试jar包是否可用。
成功启动证明jar包可用
5. 部署springboot项目
在服务器安全组开放对应端口
将app.jar文件使用xftp传输到服务器随便文件夹
在刚刚上传jar的目录,使用Vim编写一个Dockerfile文件(命名就叫这个不需要后缀)
定义父镜像之后,docker会自动的下载配置需要的jdk
FROM openjdk:8 #定义父镜像
MAINTAINER 作者名字<作者邮箱> #定义作者信息
ADD ./app.jar app.jar #将jar包添加到容器
CMD java -jar app.jar #定义容器启动执行的命令 app.jar的名字可自取
构建镜像(注意后面有点)
#docker build –f (dockerfile文件路径) –t 镜像名称:版本 .
docker build -f ./Dockerfile -t app:1.0.0 .
构建并启动容器
#docker run -id -p 主机端口号:容器端口号 容器名字(app)
docker run -id -p 9095:9095 app
查看正在运行的容器docker ps
6. 测试
访问接口,成功