• 20170602


    1.docker run -itd --name=zhang1 --net="bridge"  nginx-php /bin/bash

    swarm搭建:

    node dkmanager:

    1001* systemctl docker
    1002 systemctl status docker
    1003 docker swarm init
    1004 cat /etc/docker/daemon.json
    1005 vi /etc/docker/daemon.json
    1006 systemctl restart docker
    1007 docker swarm init --advertise-addr 192.168.36.141
    1008 docker node ls
    1009 docker info
    1010 docker node ls
    1011 history

    node1.node2:

    997 vi /etc/docker/daemon.json
    998 systemctl restart docker
    999 docker swarm join --token SWMTKN-1-0ibg226yu582kg5a3yy4p3sz7voqokuqxr813l9siy5b29ay0z-9j5x0782v92hb8ezahdhejxl4 192.168.36.141:2377
    1000 history

    最后:集群信息

    [root@node ~]# docker node ls
    ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
    6uylrjuug1dj4bepbqpltjoof * node.srv.word Ready Active Leader
    cwv31c38ubktin716270isyvr node02.srv.word Ready Active
    elz4aksaqcb9ny33v370qorqq node01.srv.word Ready Active
    [root@node ~]# docker info
    Containers: 11
    Running: 0
    Paused: 0
    Stopped: 11
    Images: 15
    Server Version: 1.12.5
    Storage Driver: devicemapper
    Pool Name: docker-253:0-68171607-pool
    Pool Blocksize: 65.54 kB
    Base Device Size: 10.74 GB
    Backing Filesystem: xfs
    Data file: /dev/loop0
    Metadata file: /dev/loop1
    Data Space Used: 1.556 GB
    Data Space Total: 107.4 GB
    Data Space Available: 49.02 GB
    Metadata Space Used: 3.24 MB
    Metadata Space Total: 2.147 GB
    Metadata Space Available: 2.144 GB
    Thin Pool Minimum Free Space: 10.74 GB
    Udev Sync Supported: true
    Deferred Removal Enabled: false
    Deferred Deletion Enabled: false
    Deferred Deleted Device Count: 0
    Data loop file: /var/lib/docker/devicemapper/devicemapper/data
    WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
    Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
    Library Version: 1.02.135-RHEL7 (2016-11-16)
    Logging Driver: journald
    Cgroup Driver: systemd
    Plugins:
    Volume: local
    Network: overlay null host bridge
    Swarm: active
    NodeID: 6uylrjuug1dj4bepbqpltjoof
    Is Manager: true
    ClusterID: 4h119wtvwk72tl2b01zcsprqv
    Managers: 1
    Nodes: 3
    Orchestration:
    Task History Retention Limit: 5
    Raft:
    Snapshot Interval: 10000
    Heartbeat Tick: 1
    Election Tick: 3
    Dispatcher:
    Heartbeat Period: 5 seconds
    CA Configuration:
    Expiry Duration: 3 months
    Node Address: 192.168.36.141
    Runtimes: runc docker-runc
    Default Runtime: docker-runc
    Security Options: seccomp
    Kernel Version: 3.10.0-229.el7.x86_64
    Operating System: CentOS Linux 7 (Core)
    OSType: linux
    Architecture: x86_64
    Number of Docker Hooks: 2
    CPUs: 1
    Total Memory: 1.687 GiB
    Name: node.srv.word
    ID: ZXA2:27HR:OLD3:GVGG:3ZRF:7UXO:N6EM:75VB:BGGE:N3GP:LUWK:MT57
    Docker Root Dir: /var/lib/docker
    Debug Mode (client): false
    Debug Mode (server): false
    Registry: https://index.docker.io/v1/
    WARNING: bridge-nf-call-ip6tables is disabled
    Insecure Registries:
    127.0.0.0/8
    Registries: docker.io (secure)
    [root@node ~]#

    再来个web管理工具:Portainer

    成了!!!

    添加services:

    1001 docker node list
    1002 docker service create -p 80:80 --name webserver nginx
    1003 docker service ls
    1004 docker service ps webserver
    1005 docker service ls
    1006 docker service ps webserver

    docker service scale webserver=5
    1012 docker service ps
    1013 docker service ps webserver
    1014 docker images

     报错处理:

    If you have this
    cat /etc/docker/daemon.json 
    {
    "live-restore": true
    }

    you should change to:

    cat /etc/docker/daemon.json 
    {
    "live-restore": false
    }

    systemctl restart docker

    docker swarm init

    Failed to get D-Bus connection: Operation not permitted:

    My guess is that you're running a non-privileged container. systemd requires CAP_SYS_ADMIN capability but Docker drops that capability in the non privileged containers, in order to add more security.

    systemd also requires RO access to the cgroup file system within a container. You can add it with –v /sys/fs/cgroup:/sys/fs/cgroup:ro

    So, here a few steps on how to run CentOS with systemd inside a Docker container:

    1. Pull centos image
    2. Set up a docker file like the one below:

    FROM centos MAINTAINER “Yourname" <youremail@address.com> ENV container docker RUN yum -y update; yum clean all RUN yum -y install systemd; yum clean all; (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); rm -f /lib/systemd/system/multi-user.target.wants/*; rm -f /etc/systemd/system/*.wants/*; rm -f /lib/systemd/system/local-fs.target.wants/*; rm -f /lib/systemd/system/sockets.target.wants/*udev*; rm -f /lib/systemd/system/sockets.target.wants/*initctl*; rm -f /lib/systemd/system/basic.target.wants/*; rm -f /lib/systemd/system/anaconda.target.wants/*; VOLUME [ “/sys/fs/cgroup” ] CMD [“/usr/sbin/init”]

    1. Build it - docker build --rm -t centos7-systemd - < mydockerfile
    2. Run a container with docker run --privileged -ti -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup centos7-systemd /usr/sbin/init

    3. You should have systemd in your container

    4. root@node ~]# cat Dockerfile
      FROM centos7:base
      MAINTAINER “jt" <youremail@address.com>
      ENV container docker
      RUN yum -y update; yum clean all


    5. RUN yum -y install systemd; yum clean all;
      (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done);
      rm -f /lib/systemd/system/multi-user.target.wants/*;
      rm -f /etc/systemd/system/*.wants/*;
      rm -f /lib/systemd/system/local-fs.target.wants/*;
      rm -f /lib/systemd/system/sockets.target.wants/*udev*;
      rm -f /lib/systemd/system/sockets.target.wants/*initctl*;
      rm -f /lib/systemd/system/basic.target.wants/*;
      rm -f /lib/systemd/system/anaconda.target.wants/*;
      VOLUME [ “/sys/fs/cgroup” ]
      CMD [“/usr/sbin/init”]

    ssh-keygen -R 伺服器端的IP或網址
    备份和恢复:

    docker save -o ~/centos7cg.tar ff37bc5ab732

    docker load -i centos7cg.tar 


    添加集群service:

    怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看

    怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看

    怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

    
    
  • 相关阅读:
    Anaconda环境下安装库
    数据库定义、性质、演变
    web测试与app测试区别
    黑盒测试用例设计方法
    软件测试黑盒、灰盒、白盒测试的区别
    web端指什么?
    apache、tomcat和svn有什么作用,区别是什么
    H5如何测试?
    软件测试工具
    web与app测试重点
  • 原文地址:https://www.cnblogs.com/Jt00/p/6933919.html
Copyright © 2020-2023  润新知