hyperf docker安装相关
1、下载 Docker Desktop for Windows
2、安装docker镜像
docker pull elasticsearch:7.9.3
docker pull hyperf/hyperf:7.4-alpine-v3.12-swoole
dcoker pull kibana:7.9.3
docker pull mysql:latest
docker pull rabbitmq:management
docker pull redis:latest
3、启动镜像
docker run -itd --name redis -p 6379:6379 redis
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
4、docker设置固定ip地址
桥接网络
docker network create --driver bridge --subnet 172.18.0.0/16 hyperf_net
docker run -d -p 0.0.0.0:63791:6379 --network network1 --ip 172.100.0.108 XXXXXX
https://blog.csdn.net/buside/article/details/121479774
进入docker
docker exec -it walle-python /bin/bash
安装hyperf框架
启动powershell
windows
docker run --name user --network hyperf_net --ip 172.18.0.6 -v D:\www\hyperf:/www/hyperf -p 9601:9601 -p 9602:9602 -it --entrypoint /bin/sh hyperf/hyperf:7.4-alpine-v3.12-swoole
docker run --name agent --network hyperf_net --ip 172.18.0.7 -v D:\www\hyperf:/www/hyperf -p 9701:9701 -p 9702:9702 -it --entrypoint /bin/sh hyperf/hyperf:7.4-alpine-v3.12-swoole
docker run --name api --network hyperf_net --ip 172.18.0.8 -v D:\www\hyperf:/www/hyperf -p 9801:9801 -p 9802:9802 -p 9803:9803 -it --entrypoint /bin/sh hyperf/hyperf:7.4-alpine-v3.12-swoole
linux
docker run --name oa_user_service -v /home/hyperf:/www/hyperf -p 9601:9601 -p 9602:9602 -it --privileged -u root --entrypoint /bin/sh hyperf/hyperf:7.4-alpine-v3.12-swoole
docker run --name oa_agent_service -v /home/hyperf:/www/hyperf -p 9701:9701 -p 9702:9702 -it --privileged -u root --entrypoint /bin/sh hyperf/hyperf:7.4-alpine-v3.12-swoole
docker run --name oa_api_service -v /home/hyperf:/www/hyperf -p 9801:9801 -p 9802:9802 -p 9803:9803 -it --privileged -u root --entrypoint /bin/sh hyperf/hyperf:7.4-alpine-v3.12-swoole
进入容器
docker container exec -it container_name/ID /bin/bash
启动注册中心
consul.exe agent -dev -client=0.0.0.0
设置阿里镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
事务组件
组件1:
安装事务包(基于Hyperf的TCC分布式事务)
composer require loyaltylu/tcc-transaction
https://github.com/luzzhong/tcc-transaction
nsq安装
https://sourceforge.net/projects/nsq.mirror/files/
http://www.javashuo.com/article/p-mntajmxp-mm.html
https://cloud.tencent.com/developer/article/1842198
指定ip创建容器
window
docker run --name nsq --network hyperf_net --ip 172.18.0.3 -p 4160:4160 -p 4161:4161 nsqio/nsq /nsqlookupd
docker run -d --name nsqd --network hyperf_net --ip 172.18.0.4 -p 4150:4150 -p 4151:4151 nsqio/nsq /nsqd --broadcast-address=172.18.0.4 --lookupd-tcp-address=172.18.0.3:4160
docker run -d --name nsqadmin --network hyperf_net --ip 172.18.0.5 -p 4171:4171 nsqio/nsq /nsqadmin --lookupd-http-address=172.18.0.3:4161
linux
docker run --name nsq -p 4160:4160 -p 4161:4161 nsqio/nsq /nsqlookupd
docker run -d --name nsqd -p 4150:4150 -p 4151:4151 nsqio/nsq /nsqd --broadcast-address=172.17.0.9 --lookupd-tcp-address=172.17.0.8:4160
docker run -d --name nsqadmin -p 4171:4171 nsqio/nsq /nsqadmin --lookupd-http-address=172.17.0.8:4161
windows安装
https://cloud.tencent.com/developer/article/1842198
生成配置文件
composer require hyperf/nsq
php bin/hyperf.php vendor:publish hyperf/nsq
组件2:
## 基于分布式事务RT模式实现,必须使用composer2版本
composer require windawake/hyperf-reset-transaction dev-master
https://gitee.com/windawake/hyperf-reset-transaction
https://learnku.com/articles/62377
安装mysql
docker pull mysql:latest
docker run -itd --name mysql -p 3308:3308 -e MYSQL_ROOT_PASSWORD=123456 mysql