设为首页 收藏本站
查看: 847|回复: 0

[经验分享] Docker 搭建微服务及管理

[复制链接]

尚未签到

发表于 2018-5-29 10:28:49 | 显示全部楼层 |阅读模式
  centos7 安装docker
  1:查看内核
  $ uname -r
  2:用root用户登录操作系统进行更新packages
  $ sudo yum update
  3:启用overlay
  sudo tee /etc/modules-load.d/overlay.conf <<-'EOF'
  overlay
  EOF
  4:重启操作系统
  

  reboot
  5:确认 overlay启用
  $ lsmod | grep overlay
  6:添加yum repo
  sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
  [dockerrepo]
  name=Docker Repository
  baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
  enabled=1
  gpgcheck=1
  gpgkey=https://yum.dockerproject.org/gpg
  EOF
  7:配置docker 使用overlay
  $ sudo mkdir -p /etc/systemd/system/docker.service.d && sudo tee /etc/systemd/system/docker.service.d/override.conf <<- EOF
  [Service]
  ExecStart=
  ExecStart=/usr/bin/docker daemon --storage-driver=overlay -H fd://
  EOF
  8.安装docker engine,daemon和service
  sudo yum install --assumeyes --tolerant docker-engine-1.9.1 docker-engine-selinux-1.9.1
  sudo systemctl start docker
  sudo systemctl enable docker
  

  我们开始搭建:
  1、下载 swarm 镜像
  docker pull swarm
  

  2、创建一个clusterid(集群id)
  docker run --rm swarm create
  

  返回一个集群id,我们记录为:
  90ea5a1796146652c67eee21ba90a153
  3、启动集群管理docker实例(每个实例都需要做3,4两步)
  启动另外一个docker实例,监听外网的2375端口
  docker -H tcp://0.0.0.0:2375 --daemon=true --pidfile=/var/run/docker_2375.pid --graph="/var/lib/docker_2375"
  

  或者
  nohup docker -H tcp://0.0.0.0:2375 --daemon=true --pidfile="/var/run/docker_2375.pid" --graph="/var/lib/docker_2375" &
  

  4、启动agent
  启动swarm的agent,并和之前的2375端口对接上,如果有多个docker实例,就在多台机器上启动这个玩意
  docker run -d swarm join --addr=10.14.40.112:2375 token://90ea5a1796146652c67eee21ba90a153
  

  5、启动swarm的管理器
  docker run -d -p 2376:2375 swarm manage token://90ea5a1796146652c67eee21ba90a153
  

  这里我们让manager监听2376端口
  

  6、测试是否成功
  我们执行如下命令,查看集群的信息:
  docker -H tcp://127.0.0.1:2376 info
  打印如下:
  

  Nodes: 1
  

  xxxx: 10.14.40.112:2375
  └ Containers: 3
  └ Reserved CPUs: 0 / 2
  └ Reserved Memory: 0 B / 3.93 GiB
  

  docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
  

  

  

  

  

  功能及使用体验方面
  

  两者各有优缺点,比较适合配合使用。
  

  DockerUI
  DockerUI基于Docker API,提供等同Docker命令行的大部分功能,支持container管理,image管理。
  

  优点:
  支持container批量操作;
  支持image管理(虽然比较薄弱)
  

  缺点:
  不支持多主机。
  

  

  

  

  Shipyard
  Shipyard也是完全基于Docker API,支持container管理、engine管理(一个engine就是监听tcp端口的docker daemon)。
  

  优点:
  支持多主机;
  支持container及engine资源限制及图形展示;
  支持container实例横向扩展;
  支持批量创建;
  支持创建时自动调度。
  

  缺点:
  不支持image管理;
  不支持container批量操作
  

  

  

  webui 集群管理
  Shipyard 是一个基于 Web 的Dokcer 管理工具,支持多 host,可以把多个 Docker host 上的 containers统一管理;可以查看 images,甚至 build images;并提供 RESTful API 等等。 Shipyard 要管理和控制 Docker host 的话需要先修改 Docker host 上的默认配置使其支持远程管理。
  

  docker远程管理支持
  Shipyard 要管理和控制 Docker host 的话需要先修改 Docker host 上的默认配置使其支持远程管理。修改配置文件 docker.conf
  vim /etc/default/docker
  添加一行:
  

  DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"
  

  

  

  重启docker服务
  

  service docker restart
  docker -d
  
  

  

  

  获取shipyard
  docker pull sh ipyard/shipyard
  docker pull shipyard/rethinkdb
  

  

  

  部署shipyard
  RethinkDB
  启动一个RethinkDB数据卷实例:
  

  docker run -it -d --name shipyard-rethinkdb-data --entrypoint /bin/bash shipyard/rethinkdb -l
  启动包含数据卷的RethinkDB的容器:
  

  docker run -it -P -d --name shipyard-rethinkdb --volumes-from shipyard-rethinkdb-data shipyard/rethinkdb Shipyard
  启动Shipyard:
  

  Shipyard将创建一个默认账号,用户名:admin,密码:shipyard。使用该密码登陆:http://<your-host-ip>:8080
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-482488-1-1.html 上篇帖子: 一步一步搭建ZooKeeper + Mesos + Marathon平台管理Docker集群 下篇帖子: 云计算新十年大考:Docker企业云操作系统
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表