docker运行springboot+haproxy+mysql+redis
type
status
date
slug
summary
tags
category
icon
password
order
首先新建以下文件和目录,为运行docker做准备,docker内数据要关联到这些文件夹/文件下。
由于我项目是前后端分离,所以需要两个nginx服务器,一个负责前端页面,一个负责反向代理后端SpringBoot,虽然这里都只用了单节点,但还使用了haproxy,方便扩展,要添加服务器时,直接修改haproxy里的配置就行。
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F8fce4551-22cb-48b7-9d1a-a184971b6b44%2FUntitled.png?table=block&id=5bc654e3-58fb-4d69-9f4e-10b3004cdcc9&t=5bc654e3-58fb-4d69-9f4e-10b3004cdcc9&width=301&cache=v2)
docker-compose.yml文件内容,里面的各个容器都指定了IP,因为在haproxy内需要用到, 映射的端口看自己需要进行变更(其实不需要在宿主机映射端口,因为都是通过haproxy来访问各个容器内的服务了,只需要将haproxy的端口暴漏出来即可,但是为了方便自己测试、检查排错,还是需要将该服务的端口暴漏出来)
docker-compose.yml
后端nginx配置文件backend.conf
前端nginx配置文件frontend.conf,前端程序直接放在www目录下即可
haproxy配置文件haproxy.cfg
都编辑好后,将其上传到服务器,前提是服务器已经装好docker了,本博其他文章写有docker相关安装教程,记得给这些文件夹加个权限chmod -R 777 deploy ,我是习惯777了,给读写权限应该就够了,666
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F38d3bbb5-37de-4891-86cc-9dcfbafc30d0%2Fc5acfd94-367e-4795-8324-bc66788b0174%2FUntitled.png?table=block&id=71138920-8b70-43e5-a43e-efeef7b4618f&t=71138920-8b70-43e5-a43e-efeef7b4618f&width=1086&cache=v2)
putty连接上服务器,执行下面命令,-d代表后台执行
如果安装完成,可以在docker管理面板中查看
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F38d3bbb5-37de-4891-86cc-9dcfbafc30d0%2Fa05fa339-e600-4fd2-a353-909ded2438b7%2FUntitled.png?table=block&id=8a66deae-ab93-4752-bd19-10b26e9558d3&t=8a66deae-ab93-4752-bd19-10b26e9558d3&width=1546&cache=v2)
docker面板portainer
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F38d3bbb5-37de-4891-86cc-9dcfbafc30d0%2Fcfe61abc-3567-416d-bea7-d08a51927d20%2FUntitled.png?table=block&id=7d782050-dacf-45a8-b7c4-afd3de94356c&t=7d782050-dacf-45a8-b7c4-afd3de94356c&width=1576&cache=v2)
haproxy面板