加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

haproxy-keepalived-nginx

dockerfiles that support HAproxy + keepalived + nginx working environment

简介

用 Docker 容器服务的方式搭建实现 HAproxy + keeepalived 高可用服务 。使用前需了解 Docker 的基本概念,常用基本命令。 可以一条条命令执行docker命令来构建镜像,容器。这里推荐使用 docker-compose 来管理,执行项目,下面是使用流程。

相关软件版本:

  • keepalived 2.0.19
  • haproxy 2.0.9
  • nginx 1.16

使用

1.安装 Docker,Docker-compose

  • Docker,详见官方文档
  • docker-compose,文档
  • nginx config
sudo pip install -U docker-compose

2.下载 php-docker

直接 clone:

git clone git@github.com:piao/php-docker.git

或者下载 zip 压缩包也可以。

3.下载需要的拓展包

先下载好要使用的拓展包,如果编译出错要多次构建容器就可以省掉下载时间。

                                HAproxy 1 ---------------> Nginx 1 
                               /     |
|------------|                /      |
|user request| ---> DNS Server     keepalived
|------------|                \      |
                               \     |
                                HAproxy 2 ---------------> Nginx 2

user request -> DNS Server -> HAproxy(1,2 keepalived双主模型) -> Nginx(1,2...)

4.docker-compose 构建项目

进入 docker-compose.yml 所在目录: 执行命令:

docker-compose up --build -d mongo-db

docker-compose up --build -d

docker-compose up

如果没问题,下次启动时可以以守护模式启用,所有容器将后台运行:

docker-compose up -d

docker exec -it files_mongo-db_1 sh -c "mongo -u root -p 123456 admin"
docker exec -it files_mongo-db_1 sh -c "mongo -u test1 -p 123456 admin"

windows下运行:

winpty docker exec -it files_mongo-db_1 bash
winpty docker exec -it files_svr_1 bash

winpty docker exec -it files_svr_1 sh -c "ps aux | grep uLog"

使用 docker-compose 基本上就这么简单,Docker 就跑起来了,用 stop,start 关闭开启容器服务。
更多的是在于编写 dockerfile 和 docker-compose.yml 文件。

可以这样关闭容器并删除服务:

docker-compose down

5. 使用 Composer

zPhal 项目依赖 Composer 进行构建。

我们在创建 PHP-fpm 容器时就已经将 Composer 安装在容器中,可以运行该容器进行 Composer 操作。

用 docker-compose 进行操作:

docker-compose run --rm -w /data/www/zPhal php-fpm composer update

-w /data/www/zPhal为在php-fpm的工作区域,zPhal项目也是挂载在里面,所有我们可以直接在容器里运行composer。

或者进入宿主机(容器外部)app 目录下用 docker 命令:

cd zPhal-dockerfiles/app

docker run -it --rm -v `pwd`:/data/www/ -w /data/www/zPhal files_php-fpm composer update

空文件

简介

HAproxy + keepalived + nginx 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化