zoukankan      html  css  js  c++  java
  • swarm docker-compose.yml NFS 搭建LNMP

    列表:

    172.16.0.40     (swarm-master)

    172.16.0.160     (swarm-worker)

    172.16.0.170     (swarm-worker)

    172.16.0.30    (mariadb-master)

    172.16.0.43     (mariadb-slave)

    172.16.0.199   ( registry)

    docker仓库搭建----registry

    mkdir /registry/date  && chmod -r 777  /registry/date

    pull && run

    docker run -d -p 5000:5000 --name registry -v /registry/date:/var/lib/registry   --restart=always  registry

    SWARM 集群搭建:

    docker 开启远程连接:

    echo "OPTIONS='-H 0.0.0.0:2377 -H unix:///var/run/docker.sock" > /etc/default/docker  && systemctl daemon-reload && systemctl restart docker 

    docker 添加私有仓库:

     sudo mkdir -p /etc/docker && sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["172.16.0.199:5000"] } EOF

    另一种方法:

    vim /lib/systemd/system/docker.service

    --insecure-registry 172.16.0.199:5000

    检查: docker info

    开启iptables  端口 :   tcp/2377      tcp/udp  4789 946 :所有节点 

     iptables -I INPUT -p tcp --dport 2377 ACCEPT

     iptables -I INPUT -p tcp --dport  7946 ACCEPT

     iptables -I INPUT -p tcp --dport  4789  ACCEPT  

    iptables -A INPUT -p udp --destination-port 7946 -j ACCEPT

    iptables -A INPUT -p udp --destination-port 4789 ACCEPT

     

    master 节点(40)  创建集群

    docker swarm init --advertise-addr 172.16.0.40

    在次查看 docker swarm join-token worker |
    docker swarm join-token manager

    master 节点安装nfs

    yum install nfs-utils -y && echo "/data/www 172.16.0.0/24(rw,sync,no_root_squash) " > /etc/export && systemctl start nfs

    worker (160,170)加入集群

    各项命令查看:

    docker node ls   #查看node 节点

    docker  network ls  #查看swarm-overlay 详情

    docker volume ls    #查看数据卷

    docker network inspect   (project_name)  #查看项目挂载网络

    docker network volume   (project_name)  #查看项目挂载数据卷

    docker service ps  (project_name)   #查看各container  详情

    docker-compose.yml :

    version: '3.2'
    services:
      nginx:
        image: 172.16.0.199:5000/nginx:v1.0
        ports:
          - 80:80
        environment:
          NGINX_HOST: php-fpm
        volumes:
          - type: volume
            source: webdata
            target: /usr/www/html
            volume:
              nocopy: true
        deploy:
          mode: replicated
          replicas: 3
          resources:
            limits:
              cpus: '0.4'
              memory: 100M
            reservations:
              cpus: '0.2'
              memory: 50M
        depends_on:
          - php-fpm
        networks:
          - stack_net
          
      php-fpm:
        image: 172.16.0.199:5000/php-fpm:v1.0
        volumes:
          - type: volume
            source: webdata
            target: /usr/www/html
            volume:
              nocopy: true
        networks:
           - stack_net
        deploy:
          mode: replicated
          replicas: 2
          resources:
            limits:
              cpus: '0.8'
              memory: 100M
            reservations:
              cpus: '0.5'
              memory: 50M
    volumes:
      webdata:
        driver: local
        driver_opts:
          type: "nfs"
          o: "addr=172.16.0.40,vers=4,soft,timeo=180,bg,tcp,rw"
          device: "172.16.0.40:/data/www"
    
    networks:
      stack_net:
        driver: overlay

    mariadb: db

    db 我已经导入  有关db 以后会有blog 

    RUN:   docker stack deploy -c my-demo

    docker stack rm  demo  #删除

    docker service ps demo #查看运行状态

    docker service logs  ( 容器 id | name)  #查看log日记

  • 相关阅读:
    CentOS 6.3 下编译Nginx(笔记整理)
    XMPP协议相关基础概念(Strophe学习笔记)
    StackMapTable format error
    hibernate的子查询
    strophe与openfire模拟的XMPP简单hello程序
    Strophe.Status的所有值
    博客园添加SyntaxHighlighter
    P5395 【模板】第二类斯特林数·行
    test20191001
    test20190829
  • 原文地址:https://www.cnblogs.com/python-diy/p/9463622.html
Copyright © 2011-2022 走看看