Docker部署个人博客(Springboot)

学完Docker后,实战测试部署个人博客
个人博客:Springboot + SementicUI + Mybatis +MySQL

首先我们需要将服务器中MySQL的环境准备好

一、去DockerHub下载对应版本的MySQL镜像,然后启动容器

#下载镜像
[root@songqixiang home]# docker pull mysql:5.7
#启动容器
[root@songqixiang conf]# docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql  mysql:5.7
8d87e9c530cffb905030214295e5640532318ad5f5b9f9c338d8eb49e461f940
[root@songqixiang conf]# docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED         STATUS         PORTS                               NAMES
8d87e9c530cf   mysql:5.7   "docker-entrypoint.s…"   3 seconds ago   Up 2 seconds   33060/tcp, 0.0.0.0:3310->3306/tcp   mysql

注意:因为有端口映射,配置安全组和防火墙放行

查询放行的端口:
firewall-cmd --zone=public --list-ports

新增放行端口(比如8080):
firewall-cmd --zone=public --add-port=8080/tcp --permanent

切记要刷新:
firewall-cmd --reload

二、测试一下,我们本地项目去连接容器中的MySQL

在这里插入图片描述

测试 localhost:8080 测试成功!

MySQL环境准备完毕

三、将项目打成jar包,在本地的windos环境测试运行

在这里插入图片描述
本地测试:jar包所在目录处,cmd执行 java -jar 包名

需要注意的是,项目所在的容器连接MySQL所在的容器需要指定ip去连接

四、编写Dockerfile

FROM java:8
COPY *.jar /blog.jar
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT ["java","-jar","blog.jar"]

五、将准备好的jar包和Dockerfile通过XFTP传到服务器

在这里插入图片描述

6.构建项目镜像

[root@songqixiang blog]# docker build -t myblog .

7.运行镜像(启动容器)

[root@songqixiang blog]# docker run -d -p 9090:8080 --name blog myblog
2fee33c5b44be6a257799f1b73a8d8e501bbbb1137a0d04060312fdb48a08dbb
[root@songqixiang blog]# docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                               NAMES
2fee33c5b44b   myblog      "java -jar blog.jar …"   6 seconds ago    Up 4 seconds    0.0.0.0:9090->8080/tcp              blog
8d87e9c530cf   mysql:5.7   "docker-entrypoint.s…"   49 minutes ago   Up 49 minutes   33060/tcp, 0.0.0.0:3310->3306/tcp   mysql
[root@songqixiang blog]# curl localhost:9090

然后浏览器、直接访问即可!
在这里插入图片描述
部署完成 !

posted @ 2022-01-23 20:36  爪洼ing  阅读(262)  评论(0编辑  收藏  举报