十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
创新互联长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为安福企业提供专业的网站设计制作、网站制作,安福网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
原文链接地址:『高级篇』docker之Mesos微服务部署(26)因本人的mac本才8g,无法同时启动4个虚拟机来完成,3个server,1个harbor。所以镜像直接用hub.docker.com的。mac就启动3个虚拟机。代码里都增加dockerhub的方式。源码:https://github.com/limingios/msA-docker mesos分支
通过提供的源码shell脚本直接运行。
sh start.sh
sh start.sh
sh start.sh
sh start.sh
编写的shell 脚本
#!/bin/bash
docker run -d --net=host --privileged \
--hostname=192.168.66.101 \
-e MESOS_PORT=5051 \
-e MESOS_MASTER=zk://192.168.1.130:2181/mesos \
-e MESOS_SWITCH_USER=0 \
-e MESOS_CONTAINERIZERS=docker,mesos \
-e MESOS_LOG_DIR=/var/log/mesos \
-e MESOS_WORK_DIR=/var/tmp/mesos \
-v "$(pwd)/mesos/log/mesos:/var/log/mesos" \
-v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /sys:/sys \
-v /usr/bin/docker:/usr/local/bin/docker \
mesosphere/mesos-slave:1.7.0 --no-systemd_enable_support \
--no-hostname_lookup --ip=192.168.66.101
sh mesos-slave.sh
编写的shell 脚本 mesos.sh
!/bin/bash docker run -d --net=host \ --hostname=192.168.66.102 \ -e MESOS_PORT=5050 \ -e MESOS_ZK=zk://192.168.1.130:2181/mesos \ -e MESOS_QUORUM=1 \ -e MESOS_REGISTRY=in_memory \ -e MESOS_LOG_DIR=/var/log/mesos \ -e MESOS_WORK_DIR=/var/tmp/mesos \ -v "$(pwd)/mesos/log/mesos:/var/log/mesos" \ -v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \ mesosphere/mesos-master:1.7.0 --no-hostname_lookup --ip=192.168.66.102
编写的shell 脚本 marathon.sh
#!/bin/bash
docker run -d --net=host \
mesosphere/marathon:v1.5.12 \
--master zk://192.168.1.130:2181/mesos \
--zk zk://192.168.1.130:2181/marathon
sh mesos.sh
sh marathon.sh
编写的shell 脚本 marathon.sh
#!/bin/bash
docker run -d --net=host --privileged \
--hostname=192.168.66.103 \
-e MESOS_PORT=5051 \
-e MESOS_MASTER=zk://192.168.1.130:2181/mesos \
-e MESOS_SWITCH_USER=0 \
-e MESOS_CONTAINERIZERS=docker,mesos \
-e MESOS_LOG_DIR=/var/log/mesos \
-e MESOS_WORK_DIR=/var/tmp/mesos \
-v "$(pwd)/mesos/log/mesos:/var/log/mesos" \
-v "$(pwd)/mesos/tmp/mesos:/var/tmp/mesos" \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /sys:/sys \
-v /usr/bin/docker:/usr/local/bin/docker \
mesosphere/mesos-slave:1.7.0 --no-systemd_enable_support \
--no-hostname_lookup --ip=192.168.66.103
sh mesos-slave.sh
我部署下,看我分配的内存和cpu就知道为什么叫微服务了
0.1cpu和128Mb内存足够了。
连接是hub.docker.com,上边说了内存太低了没办法启动那边多镜像。
点击json mode 修改,其实就是修改json文件
修改成画红色部分的内容,containerPort是应用内的端口,servicePort是marathon控制的端口(上一节统计过外部端口的数字)。
跟上边一样修改端口
它不需要端口的映射,直接删除portMappings就可以了
key:HAPROXY_GROUP
value:external
external 跟原来marathon-lb里面的分组名称一致
本身就是掩饰,家里的笔记本坏了,不好制作局域网的docker仓库,所以比较麻烦。 不过大概就是这么操作的。如果照着我做的老铁,因为我之前跑起来没问题了,建议找个内存大的至少16g的老玩我说的配置。
3种类型
判断是否成功是看命令退出的返回值是不是0
项目的根路径开始的
环境变量的配置
容器的挂载
那些服务适合那些主机标签和权限都在optional里面
PS:基本的mesos和marathon讲述完成了,因为主机内存后面的结果没有演示但是基本的命令和镜像有了后面基本是,基本操作啦!下次一起学学docker swarm!
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。