如何用docker swarm 实现集群
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,如何用docker swarm 实现集群,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。(1) go 编写 web 程序主
千家信息网最后更新 2026年11月04日如何用docker swarm 实现集群
如何用docker swarm 实现集群,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
(1) go 编写 web 程序
主要实现 监听 ip:9090/Source 浏览,并记录 服务器主机与访问次数。
代码
package mainimport ( "fmt" "log" "net/http" "runtime" "strconv" "os")var i int = 0func sayHello(w http.ResponseWriter, r *http.Request){//func sayHello(){ i++ fmt.Print(i) fmt.Print("\n") fmt.Print("visit!"+"\n") hostname,er :=os.Hostname() if er == nil { dates := "jenkins:"+"Login \n"+"visit Count:"+strconv.Itoa(i)+"\nHostname:"+hostname w.Write([]byte(dates)) defer r.Body.Close() }else { return }}func main(){ fmt.Print("<<<<< "+runtime.GOOS+"\n") fmt.Print("<<<<< "+runtime.GOARCH+"\n") http.HandleFunc("/Source",sayHello) fmt.Print("<<< debug start"+"\n") er := http.ListenAndServe(":9090",nil) fmt.Print("<<< debug end") fmt.Print(er) if er != nil { log.Fatal("ListenAndServe",er) }}(2) 生成arch 程序
go build arch.go
(3) arch + Dockerfile 生成微服务镜像
Dockerfile
FROM ubuntu:16.04MAINTAINER ZHBCOPY ./arch /RUN chmod 777 /archRUN touch /log.txtEXPOSE 9090ENTRYPOINT ["sh","-c","./arch >> /log.txt"] #可在 容器里 tail -f log.txt 监控
docker build -t ip:5000/swarm:0.0 ./
ubuntu@local:~/SWARM$ docker build -t 192.168.175.139:5000/swarm:0.0 ./Sending build context to Docker daemon 6.629MB #Sending build context 可以用.dockerignore 阻止 Step 1/7 : FROM ubuntu:16.04 ---> a51debf7e1ebStep 2/7 : MAINTAINER ZHB ---> Using cache ---> 26b542a8286bStep 3/7 : COPY ./arch / ---> Using cache ---> aff0b358480cStep 4/7 : RUN chmod 777 /arch ---> Using cache ---> 6e07a223b571Step 5/7 : RUN touch /log.txt ---> Using cache ---> 03be86c93b8aStep 6/7 : EXPOSE 9090 ---> Using cache ---> fe9c6a7ab542Step 7/7 : ENTRYPOINT ["sh","-c","./arch >> /log.txt"] ---> Using cache ---> 6287178e0005Successfully built 6287178e0005Successfully tagged 192.168.175.139:5000/swarm:0.0
push 镜像
docker push ip:5000/swarm:0.0
(4)主节点 swarm init
docker swarm init
其他服务器加入集群
docker swarm join --token **** ip:2377
(5)创建service
docker service create --replicas 6 --name=swarm-service --publish 9090:9090 IP:5000/swarm:0.0
overall progress: 0 out of 6 tasks1/6: preparing [=================================> ]2/6: preparing [=================================> ]3/6: preparing [=================================> ]4/6: preparing [=================================> ]5/6: preparing [=================================> ]6/6: preparing [=================================> ]
(6) web 访问 ip:9090/Source 并实现负载均衡
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
服务
集群
服务器
程序
镜像
帮助
生成
清楚
均衡
主机
代码
内容
可在
容器
对此
文章
新手
更多
次数
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
善班互联网科技
朗涯互联网科技
万达互联网科技
掌上梦互联网科技
大白互联网科技
天扬科技互联网广告
互联网科技产品
剑昆互联网络科技有限公司临桂
互联网金融科技公司干啥的
互联网与医疗科技
互联网媒体平台算高科技产业
996高科技互联网公司
滨湖区互联网智能科技产品有哪些
无锡工业互联网科技有限公司
中天科技中国工业互联网
半导体是互联网高科技吗
求路客互联网科技电话
恒生互联网科技趋势
网互联网络科技
株洲百竞科技的互联网营销顾问
上海挚品互联网科技有限公司
云信互联网科技有限公司
互联网科技公司官网
鑫亿盛互联网科技
常德市电业局互联网科技部
广州恒生互联网科技有限
青岛科技大学互联网大赛研究生
互联网科技公司有风险吗
2021互联网科技公司排名
易企秀互联网科技是做什么的