dockerfiles that support HAproxy + keepalived + nginx working environment
用 Docker 容器服务的方式搭建实现 HAproxy + keeepalived 高可用服务 。使用前需了解 Docker 的基本概念,常用基本命令。 可以一条条命令执行docker命令来构建镜像,容器。这里推荐使用 docker-compose 来管理,执行项目,下面是使用流程。
相关软件版本:
sudo pip install -U docker-compose
直接 clone:
git clone git@github.com:piao/php-docker.git
或者下载 zip 压缩包也可以。
先下载好要使用的拓展包,如果编译出错要多次构建容器就可以省掉下载时间。
HAproxy 1 ---------------> Nginx 1
/ |
|------------| / |
|user request| ---> DNS Server keepalived
|------------| \ |
\ |
HAproxy 2 ---------------> Nginx 2
user request -> DNS Server -> HAproxy(1,2 keepalived双主模型) -> Nginx(1,2...)
进入 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
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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。