Docker Swarm

学习资料

https://github.com/yeasy/docker_practice/blob/master/SUMMARY.md
https://www.cnblogs.com/ityouknow/p/8903975.html

一、搭建集群

  1. 连接虚拟机

docker-machine ls, 看看有没有虚拟主机,没有就Docker Machine创一个

docker-machine create --driver virtualbox vm

docker-machine ssh vm

  1. 初始化swarm集群
docker swarm init --advertise-addr 193.112.12.253

不出意外会报下面的错

Error response from daemon: --live-restore daemon configuration is incompatible with swarm mode

不慌

 vi /etc/docker/daemon.json
 ```
 改掉 "live-restore": 为false就行。
 然后重启docker,service docker restart
 ```
 To add a worker to this swarm, run the following command:
    docker swarm join \
    --token SWMTKN-1-22aiuetma7nc9tbffzuv8wihx8mpk8v7g8anwt89wwsvm9sk6p-4bjhrdf9ftiuwvkfmw56dkdus \
    193.112.12.253:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

记住这个命令,后面加节点会用。

  1. 查看集群节点信息
docker node ls
  1. 再加个节点

因为我只有一个服务器,没法使用集群了。。

docker-machine create -d generic --generic-ip-address=193.112.12.254  --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root vm2

进入

docker-machine ssh vm2

然后加入集群

docker swarm join \
    --token SWMTKN-1-16l5rdxr3vcof94rux1035p4mekzoaueea49btdsudrhqibnuw-7g93ahno5a6v1tyesipi5bjp6 \
    193.112.12.253:2377
  1. 查看集群

进入管理节点,docker-machine ls

没问题的话,会看到几个类似这样的

这样子集群就搭好了,下面开始部署服务

二、部署服务

使用中国镜像

docker search alpine 
docker pull registry.docker-cn.com/library/alpine
docker service create --replicas 1 --name helloworld alpine ping ihboo.com
docker service ps []查看服务运行情况
docker service ls 查看运行的服务

监控服务

docker service inspect --pretty helloworld

进入子节点,查看服务 docker ps,可以看到运行的服务。

这样子,多环境部署就很方便了,初步发现docker的很棒的地方。

三、服务调整

  1. 实例数量
docker service update --replicas 2 helloworld
docker service ps helloworld

可以看到有两个节点在运行服务

现在修改只要一个实例

docker service update --replicas 1 helloworld

然后发现只有一个实例了。

好方便。

集群节点的添加删除也很方便,join rm。

四、使用docker-compose启动

之前的docker-compose文件,使用这个文件启动多个服务

version: '3.0'
services:
  eureka:
    image: docker/eureka
    container_name: eureka
    ports:
      - "1110:1110"
  gateway:
    image: docker/gateway
    ports:
      - "2000:2000"
    links:
      - eureka
  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - "8081:8081"
    stop_grace_period: 1m30s
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints: [node.role == manager]

visualizer是可视化页面,可以ip:8081访问部署情况

docker stack deploy -c docker-compose.yml cloud
docker stack ls
docker stack down 移除服务
docker stack services cloud 查看服务

五、疑问

  1. 做集群,必须要不同的服务器吗,不能多个端口启动吗?
  2. 实际使用流程?jenkins是制作镜像,然后push到hub上,master拉镜像,放上去Dockerfile文件,然后master启动这样子?
  3. 容器云?
  4. k8s?
  5. to be continued…

本文分享自微信公众号 - 叔叔的博客(gh_b2b55a55dca8)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Docker Machine

    叔叔
  • Docker Compose

    详细配置看这里:https://blog.csdn.net/qq_36148847/article/details/79427878

    叔叔
  • Docker部署cloud

    叔叔
  • Docker 入门

    1、centos7上安装docker sudo yum install -y yum-utils device-mapper-persistent-data ...

    用户5760343
  • Docker常用命令

    使用 search 命令可以搜索存放在 docker hub 上的镜像。

    码农UP2U
  • Windows-IntelliJ-IDEA-helloDocker

    参考链接:http://www.jetbrains.com/help/idea/2016.2/docker.html#d190283e119(这是适合安装doc...

    java干货
  • 新手Docker安装使用教程,以及常用命令!

    最近博主用调试Docker内容,顺手记录一下,我常用的几个命令!这里总结一下,方便自己也同时方便大家使用!

    砸漏
  • 新手Docker安装使用教程,以及常用命令!

    最近用调试Docker内容,顺手记录一下,我常用的几个命令!这里总结一下,方便自己也同时方便大家使用!

    砸漏
  • docker 安装与使用

    之前docker 没有系统整理,现在经常会重新安装docker,部署docker环境,进行重启的创建和操作,下面进行记录和备忘:

    xuyaowen
  • Docker简介、安装、基本配置

    主要架构为:镜像(images)、容器(container)、仓库(repository)

    PayneWu

扫码关注云+社区

领取腾讯云代金券