docker安装rabbitmq、swoole 以及amqp、gd、zip扩展

docker安装rabbitmq:

docker-compose.yml:

version: "3.2"
services:
  rabbitmq:
    image: rabbitmq:3-management-alpine
    container_name: rabbitmq
    volumes:
    - /alidata/rabbitmq:/var/lib/rabbitmq
    environment:
      RABBITMQ_DEFAULT_VHOST: my_vhost
      RABBITMQ_DEFAULT_USER: admin
      RABBITMQ_DEFAULT_PASS: admin
      HOMEDRIVE: /var/lib/rabbitmq
    ports:
      - "5672:5672"
      - "15672:15672"
    hostname: myRabbit
    # network_mode: "host"

【RabbitMQ】access to vhost '/' refused for user 'admin': vhost 'next' is down 解决方案

vhost down 掉会导致vhost不可用,使得无法通过这个vhost广播消息
解决方案:删除该vhost,然后重建

rabbitmqctl delete_vhost next
rabbitmqctl add_vhost /
rabbitmqctl  set_permissions -p / admin '.*' '.*' '.*'

 

docker安装swoole:

docker-compose.yml:

version: "3.2"
services:
  swoole:
    image: phpswoole/swoole:4.6.7-php7.4
    container_name: swoole
    volumes:
    - /mnt/hgfs/www/:/www
    network_mode: "host"

  

 

进入swoole容器

docker exec -it swoole /bin/bash

 

更新apt-get

apt-get update

  

安装依赖

apt-get install librabbitmq-dev

 

pecl 搜索amqp

pecl search amqp

 

 

 

 安装

pecl install amqp 

 添加到php.ini配置

docker-php-ext-enable amqp

 

查看配置是否成功

php -m

  

 =======================================================================

安装gd

apt update
apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev

docker-php-source extract

docker-php-ext-configure gd \
docker-php-ext-install gd
docker-php-ext-enable gd

  

安装zip扩展

apt-get update && \
apt-get install -y --no-install-recommends libzip-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) zip

 docker 安装rabbitmq

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v /mq/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.8-rc-management

  说明

-d 后台运行容器;
–name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-v 映射目录或文件;
–hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

可以使用浏览器打开web管理端:http://Server-IP:15672

posted @ 2021-07-04 16:44  佚小名  阅读(399)  评论(0编辑  收藏  举报