docker 部署常用中间件

1. docker 部署nginx

  • 查找镜像: docker search nginx
  • 下载镜像: docker pull nginx
  • 登入镜像内部查看配置文件路径: docker run --rm -it nginx /bin/bash  (/etc/nginx/..)
    docker ps 查看对应的容器id 比如是: 83f6d53c4194
  • 把配置文件拷贝到宿主机(不需要提前建好目录):
    ### 没有目录会先生成conf目录,然后把nginx目录下的文件和目录直接考的conf目录
    docker cp 83f6d53c4194:/etc/nginx /etc/nginx /data/instrument/nginx/conf/ 
    rm -rf /data/instrument/nginx/conf/modules
    ### conf目录已经存在 把modules目录及子文件一起考到conf目录
    docker cp 83f6d53c4194:/usr/lib/nginx/modules /data/instrument/nginx/conf/ 

     

  •  新建日志目录和静态资源部署目录:
    mkdir /data/instrument/nginx/logs /data/instrument/nginx/static-file
  • 启动nginx服务: 
    /usr/bin/docker run --network=john-net -p 81:80 -v /data/instrument/nginx/conf:/etc/nginx \
                            -v /data/instrument/nginx/static-file:/usr/share/nginx/html \
                            -v /data/instrument/nginx/logs:/var/log/nginx \
                            --privileged=true \
                            --name docker-nginx -d nginx
    --privileged 使container内的root拥有真正的root权限,--net host(主机网络) 配置端口映射(-p) 不生效,外网直接用80端口就可以访问
  • 浏览器查看nginx服务是否启动: http://外网ip:81/ 

2. docker 部署redis

  • 查找镜像: docker search redis
  • 下载镜像: docker pull redis
  • 登入镜像内部查看配置文件路径: docker run --rm -it redis /bin/bash  (未找到)
    自行解决找一个redis.conf demo文件,我的文件路径是/data/instrument/redis/conf/redis.conf,redis详细配置参考 中间件系列_单机搭建redis-cluster集群
    快速配置如下: 
    bind 0.0.0.0
    prot 7000
    dir ./      ###对应redis容器里的绝对路径是 /data,也可以直接用绝对路径,足以 "/" 前面的"." 这是个相对路径
    requirepass admin
    logfile "/var/log/redis-access.log" 
  • 新建日志目录和redis数据存放目录:
    mkdir /data/instrument/redis/logs /data/instrument/redis/data
  • 启动redis服务: 
    /usr/bin/docker run --network=john-net -p 7000:7000 -v /data/instrument/redis/conf/redis.conf:/etc/redis/redis.conf \
                            -v /data/instrument/redis/data:/data \
                            -v /data/instrument/redis/logs/redis-access.log:/var/log/redis-access.log \
                            --privileged=true \
                            --name docker-redis -d redis redis-server /etc/redis/redis.conf
  • 用 redis desktop manager 测试redis: 

2. docker 部署rabbitmq

  • 查找镜像: docker search rabbitmq
  • 下载镜像: docker pull rabbitmq:management
    rabbitmq:management 包含管理界面的版本,默认latest不包含管理界面
  • 登入镜像内部查看配置文件路径: docker run --rm -it rabbitmq:management /bin/bash  (只找到enabled_plugins配置了rabbitmq_management,rabbitmq_prometheus插件)
    rabbitmq参考配置,我的文件路径是/data/instrument/rabbitmq/conf/rabbitmq.conf
    快速配置如下:
    listeners.tcp.default = 7001
    default_user = admin
    default_pass = admin
    management.tcp.port = 9000

    添加环境配置文件 /data/instrument/rabbitmq/conf/rabbitmq-env.conf 内容如下
    RABBITMQ_LOG_BASE=/var/log/rabbitmq
    RABBITMQ_MNESIA_BASE=/var/lib/rabbitmq/mnesia

    添加插件配置文件 /data/instrument/rabbitmq/conf/enabled_plugins 内容如下
    [rbbitmq_federation_management,rabbitmq_management,rabbitmq_mqtt,rabbitmq_stomp].
  • 新建日志目录和rabbitmq数据存放目录:
    mkdir /data/instrument/rabbitmq/logs /data/instrument/rabbitmq/mnesia
  • 启动rabbitmq服务: 
    /usr/bin/docker run --net host -v /data/instrument/rabbitmq/conf/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf \
                            -v /data/instrument/rabbitmq/conf/enabled_plugins:/etc/rabbitmq/enabled_plugins \
                            -v /data/instrument/rabbitmq/conf/rabbitmq-env.conf:/etc/rabbitmq/rabbitmq-env.conf \
                            -v /data/instrument/rabbitmq/mnesia:/var/lib/rabbitmq/mnesia \
                            -v /data/instrument/rabbitmq/logs:/var/log/rabbitmq/log \
                            --privileged=true \
                            --name docker-rabbitmq -d rabbitmq:management
    --net host 等价于 --network=john-net -p 9000:9000 -p 7001:7001 
    主机网络外网可以直接访问,自定义桥接网络外网访问不了,需要加端口映射
  • 浏览器登录管理rabbitmq管理界面验证 http://外网ip:9000/

     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值