zoukankan      html  css  js  c++  java
  • docker集群

    Docker

    版本12前无集群

    版本12后有集群

    ——docker swarm 集成docker engine

    ——k8s google:未来科技

    编排能力:可以做service也可以允许单个容器

    node:

    1、manager:将任务分解给worker执行。(管理)

    可以有多个,但是只会有一个leader

    2、work:定期更新状态给manger来维护集群

    docker service 定义在node节点上执行的任务。

    vi /etc/hosts

    192.168.43.214 node1

    192.168.43.192 node2

    192.168.43.196 node3

    docker swarm init --advertise-addr 192.168.43.214  ——本机ip

    ssh-keygen

    ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.43.192

    ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.43.196

    在两台主机上输入

    docker swarm join

        --token SWMTKN-1-1mbjsk77f67d0y934o5qu1h8i5givmhnov3nkfe6u7jz8deg2b-2d6hhjnotndl18ltdip5nhxr2

    192.168.43.214:2377

    报错可能是防火墙没清除

    docker info  ——显示docker集群的详细信息

    docker node promote node2  ——将work转成manager

    docker swarm leave -f   ——删除集群

    全部开启路由转发:net.ipv4.ip_forward = 1

    scp /etc/sysctl.conf root@node2:/root/   //修改完swar这台电脑直接用scp就ok

    ssh远程两台主机刷新sysctl

    docker pull registry:2  --下载仓库的镜像

    docker node ls   ——查看节点

     mkdir /opt/data/registry -p

    docker run -itd -p 5000:5000 --restart=always -v /opt/data/registry/:/var/lib/registry --name registry registry:2

    vi /usr/lib/systemd/system/docker.service

    修改:

    ExecStart=/usr/bin/dockerd --insecure-registry 192.168.17.138:5000 

    systemctl daemon-reload

    systemctl restart docker.service

    scp /usr/lib/systemd/system/docker.service root@node2:/usr/lib/systemd/system/docker.service  ——将docker的主配置文件发送到其他的两个节点上

    scp /usr/lib/systemd/system/docker.service root@node3:/usr/lib/systemd/system/docker.service

    docker pull httpd    ——下载一个httpd镜像

    docker tag httpd 192.168.43.214:5000/httpd   ——给httpd镜像打包

    docker push 192.168.43.214:5000/httpd    ——上传至私有仓库

    docker search visualizer    ——查看visualizer有哪些版本

     docker pull dockersamples/visualizer   ——下载版本

    docker network create -d overlay ov_net1   ——创建一个overlay网络

    docker network ls   ——查看网卡

     docker tag  dockersamples/visualizer 192.168.43.214:5000/visualizer  ——打包dockersamples/visualizer镜像

    docker push 192.168.43.214:5000/visualizer  ——上传至私有仓库

    docker run -itd -p 8888:8080 -e HOST=192.168.43.214 -e PORT=8080 -v /var/run/docker.sock:/var/run/docker.sock --name visualizer 192.168.43.214:5000/visualizer

    http://192.168.43.214:8888/   ——就可以看到视图了

    docker service create --replicas 1 --network ov_net1 --name web1 -p 8000:80 -p 10122:22 192.168.43.214:5000/httpd   ——复制一份httpd镜像

    docker service create --replicas 2 --network ov_net1 --name web2 -p 8001:80 -p 10123:22 192.168.43.214:5000/httpd   ——复制2份httpd镜像

    docker service create --mode global --network ov_net1 --name web3 -p 8002:80 -p 10124:22 192.168.43.214:5000/httpd   ——全局创建镜像

    docker exec -it web2.1.z4bpp1lpttvn11kfvac68fd6s sh  ——进入某一个容器

    docker service rm  镜像名字 //删除全局创建的

  • 相关阅读:
    sql server该账户当前被锁定,所以用户'sa'登录失败。系统管理员无法将该账户解锁。(Microsoft SQL Server,错误:18486)
    windows server常用操作
    sql server2005直接会话运行成功,但在作业执行报错
    sql server xp_readerrorlog引起的CPU爆满100%
    sql server错误日志
    (13)python网络编程,python Socket
    tcp/ip
    (12)python异常处理,python中的 try except
    典型分布式系统分析:Dynamo
    c++ set与unordered set的区别
  • 原文地址:https://www.cnblogs.com/guarderming/p/9455810.html
Copyright © 2011-2022 走看看