首先:我是参考着几篇博客:

https://blog.csdn.net/hangao233/article/details/104395693
https://www.jianshu.com/p/397929dbc27d

第一步:先在虚拟机或服务器上安装docker服务

Linux(Centos7)安装Docker 教程

第二步:使用Docker安装mysql:5.7

1可以先在docker hub上查找mysql的镜像

docker search mysql

在这里插入图片描述

2,我这次安装的mysql:5.7

所以直接从docker hub上拉取mysql:5.7

docker pull mysql:5.7

3,运行mysql

#运行容器,需要做数据挂载! #安装启动MySQL,需要配置密码,这是要注意点!
#官方测试:docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
#启动:
-d 后台运行
-p 端口映射
-v 卷挂载
-e 环境配置
–name 容器名字

docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v/home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql0 mysql:5.7

4,查看容器是否创建成功

# docker  ps 命令
      #列出当前正在运行的容器
-a    #列出当前正在运行的容器+带出历史运行过的容器
-n=?  #显示最近创建的容器
-q    #只显示容器的编号

docker ps

在这里插入图片描述
有个命令,可以进入容器内部,ctrl+p+q可以以后台运行的方式退出这个软件

docker exec -it 容器的id /bin/bash

5,使用navicat连接服务器或虚拟机上的mysql

在这里插入图片描述

6,可以使用navicat提供的工具进行数据的传输

在这里插入图片描述
然后可以看到数据已经传输成功:
在这里插入图片描述

第三步:将springboot项目打包

1.准备springboot项目并进行打包

在这里插入图片描述
打包成功会看到出现一个target的目录,里面的jar包就是我们刚刚打包好的
在这里插入图片描述
然后对yml文件进行编辑:
在这里插入图片描述

2.编写DockerFile文件

在idea的插件市场搜索docker,并安装
在这里插入图片描述
然后在根目录下新建一个Dockerfile的文件:
在这里插入图片描述
如果显示是这样的说明docker那个插件下载安装成功,然后编写Dockerfile文件:

FROM            #基础镜像,一切从这里开始构建。
MAINTAINER      #镜像是谁写的,姓名+邮箱
RUN             #镜像构建的时候需要运行的命令
ADD             #步骤:tomcat镜像,这个tomcat压缩包!添加内容
WORKDIR         #镜像的工作目录
VOLUME          #挂载的目录
EXPOST          #保留端口配置
CMD             #指定这个容器启动的时候要运行的命令,只有一个会生效,可被替代。
ENTRYPOINT      #指定这个容器启动的时候要运行的命令,可以追加命令。
ONBUILD         #当构建一个被集成DockerFile这个时候就会运行ONBUILD的指令。触发指令。
COPY            #类似ADD,将我们文件拷贝到镜像中。
ENV             #构建的时候设置环境变量。

在这里插入图片描述

在这里插入图片描述

3.构建镜像

使用xftp将刚才打包的jar包还有编写的Dockerfile文件上传到虚拟机或是服务器

在这里插入图片描述
然后使用命令构建镜像:

[root@localhost project]# ls
Dockerfile  onlineExam-0.0.1-SNAPSHOT.jar

[root@localhost project]# docker build -t onlineexam .
Sending build context to Docker daemon  16.55MB
Step 1/5 : FROM java:8
8: Pulling from library/java
5040bd298390: Pull complete 
fce5728aad85: Pull complete 
76610ec20bf5: Pull complete 
60170fec2151: Pull complete 
e98f73de8f0d: Pull complete 
11f7af24ed9c: Pull complete 
49e2d6393f32: Pull complete 
bb9cdec9c7f3: Pull complete 
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:8
 ---> d23bdf5b1b1b
Step 2/5 : COPY *.jar /app.jar
 ---> 63fda5bdcb6d
Step 3/5 : CMD ["--server.port=8888"]
 ---> Running in 5e94d333492d
Removing intermediate container 5e94d333492d
 ---> 59bd2f4e0120
Step 4/5 : EXPOSE 8888
 ---> Running in 99c4427313de
Removing intermediate container 99c4427313de
 ---> d4792bf4f884
Step 5/5 : ENTRYPOINT ["java","-jar","/app.jar"]
 ---> Running in da3be5f92a55
Removing intermediate container da3be5f92a55
 ---> 2df101d6382c
Successfully built a42985afa2f3
Successfully tagged onlineexam:latest

在这里插入图片描述
然后可以使用docker images 展示刚刚构建好的镜像
在这里插入图片描述

4.启动容器

[root@localhost project]#  docker run -d -p 8888:8888 onlineexam

-d参数是让容器后台运行 
-p 是做端口映射,此时将服务器中的8888端口映射到容器中的8888(项目中端口配置的是8888)端口

然后使用docker ps查看一下:
在这里插入图片描述
ok,到此启动成功了!
由于我此此的springboot项目使用了redis。你们可以选择使用docker安装,还可以参考一下我的这个centos 7安装redis

第四步:测试

因为我springboot使用了swagger(现在是knife4j),所以我在浏览器测试是否可以打开:
在这里插入图片描述
ok,测试一下功能都ok了。
到此就结束了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐