Docker部署springboot项目并连接上docker的mysql
首先:我是参考着几篇博客:所以直接从docker hub上拉取mysql:5.73,运行mysql4,查看容器是否创建成功有个命令,可以进入容器内部,ctrl+p+q可以以后台运行的方式退出这个软件5,使用navicat连接服务器或虚拟机上的mysql然后可以看到数据已经传输成功:打包成功会看到出现一个target的目录,里面的jar包就是我们刚刚打包好的然后对yml文件进行编辑:在idea的插件
首先:我是参考着几篇博客:
https://blog.csdn.net/hangao233/article/details/104395693
https://www.jianshu.com/p/397929dbc27d
第一步:先在虚拟机或服务器上安装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了。
到此就结束了。
更多推荐
所有评论(0)