学完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
然后浏览器、直接访问即可!
部署完成 !