真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么設(shè)置DockerSwarm

本篇內(nèi)容主要講解“怎么設(shè)置Docker Swarm”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么設(shè)置Docker Swarm”吧!

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的張店網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

環(huán)境

我是用了兩臺(tái)centos7的虛擬機(jī)來做這個(gè)教程他們的ip分別是

服務(wù)器:192.168.0.105  // 也是私有倉(cāng)庫(kù)服務(wù)器
服務(wù)器2: 192.168.0.49

這篇帖子中demo代碼 github地址:demo 代碼

設(shè)置Docker Swarm

我以192.168.0.105做為主服務(wù)器,在他上面開啟swarm

docker swarm init

執(zhí)行命令后會(huì)給出加入這個(gè)swarm的命令

 怎么設(shè)置Docker Swarm

在192.168.0.49上執(zhí)行命令加入swarm

docker swarm join --token SWMTKN-1-425vswwmb8o34uhnmo58w0k4rfzs5okjtye7mokpqps1vl9ymq-0p6pr2gua7l8a6udb67tfndoo 192.168.0.105:2377

 怎么設(shè)置Docker Swarm

這樣我們就建好了swarm,兩臺(tái)主機(jī)現(xiàn)在建立好了關(guān)系。

web服務(wù)

web服務(wù)是用go語言寫一個(gè)簡(jiǎn)單的接口,返回主機(jī)的名稱:這樣方便我們查看是否有負(fù)載

package main

import (
    "fmt"
    "log"
    "net/http"
    "os"
)

func main() {
    http.HandleFunc("/hi", func(w http.ResponseWriter, r *http.Request) {
        hostName, _ := os.Hostname()
        fmt.Fprintf(w, "HostName: %s", hostName)
    })

    log.Fatal(http.ListenAndServe(":8000", nil))
}

Docker file

看一下dockerfile 文件:

執(zhí)行的意思就是基于golang境像,把代碼復(fù)制到相應(yīng)文件夾,暴露出端口,運(yùn)行程序。簡(jiǎn)單吧

FROM golang

# Copy the current directory contents into the container
COPY . /go/src/github.com/lpxxn/godockerswarm/

WORKDIR /go/src/github.com/lpxxn/godockerswarm/

RUN go build

EXPOSE 8000

CMD ["./godockerswarm"]

看一下dockerfile 文件所在的文件夾

怎么設(shè)置Docker Swarm

你可以運(yùn)行一下新生成的鏡像

docker run -p 8100:8000 7a7e3

怎么設(shè)置Docker Swarm

鏡像提交到私有倉(cāng)庫(kù)

關(guān)于如何搭建私有倉(cāng)庫(kù)服務(wù)器我這里的就多說了,可以去我之前的帖子看一下

地址1:http://www.cnblogs.com/li-peng/p/6511331.html

地址2:https://yq.aliyun.com/articles/303216?spm=5176.8091938.0.0.2ce387dadknIQu

也可以用harbor自己搭建,這個(gè)我還沒有做過教程,有時(shí)間再寫。

因?yàn)榧旱纳蠙C(jī)器是自動(dòng)從倉(cāng)庫(kù)取鏡像然后再運(yùn)行程序,所以需要將我們上面生成的鏡像推送到我們的私有倉(cāng)庫(kù)上去。我自己搭建的

使用tag重新命名

docker tag goweb:1.0 lpxxn.com:5000/goweb:1.0

怎么設(shè)置Docker Swarm

 docker-compose 文件

   接下來創(chuàng)建docker-compose.yml文件

 image 就是我們上面創(chuàng)建好的鏡像。運(yùn)行5個(gè)應(yīng)用程序,docker 會(huì)自己做負(fù)載,端口映射8111,失敗時(shí)自動(dòng)重啟服務(wù),并且創(chuàng)建了自己的網(wǎng)絡(luò),當(dāng)有多個(gè)server服務(wù)時(shí)這個(gè)非常有用。

里面的具體參數(shù),大家可以看官方教程:https://docs.docker.com/compose/compose-file/#dockerfile

version: "3"
services:
  web:
    image: lpxxn.com:5000/goweb:1.0
    deploy:
      replicas: 5
      resources:
        limits: 
          cpus: "0.1"
          memory: 50M
      restart_policy:
        condition: on-failure
    ports:
      - "8111:8000"
    networks: 
      - gowebnet
networks: 
  gowebnet:

部署應(yīng)用

到了最后的階段了,部屬一樣很簡(jiǎn)單,執(zhí)行deploy命令, 在兩個(gè)IP 上創(chuàng)建好鏡像,然后再manager上運(yùn)行如下指令即可

docker stack deploy -c docker-compose.yml mygoweb
docker service ls  查看service
docker service rm service_id 刪除service
docker service ps myflask_web  查看service
docker  node ls  查看節(jié)點(diǎn)

怎么設(shè)置Docker Swarm

查看啟動(dòng)的服務(wù)

docker service ps mygoweb_web

怎么設(shè)置Docker Swarm

測(cè)試服務(wù)

看這些返回的主機(jī)名:不一樣吧。docker 為我們做了負(fù)載了。

 怎么設(shè)置Docker Swarm

===========================================================================

1.創(chuàng)建dockerfile

FROM python:3.6-alpine
COPY . /code
WORKDIR /code
RUN pip install redis flask

app.py

from flask import Flask
from redis import Redis
app = Flask(__name__)
i = 1
@app.route('/')
def hello():
    global i
    count = i
    i += 1
    return 'Hello World! 該頁(yè)面已被訪問 {} 次。\n'.format(count)
if __name__ == "__main__":
    app.run(host="0.0.0.0", debug=True,port=5000)

建立好image

docker build -t app:v1 .

創(chuàng)建集群

manager IP: 192.168.0.105
主服務(wù)器manager: docker swarm init --advertise-addr 192.168.0.105
worker: docker swarm join --token SWMTKN-1-425vswwmb8o34uhnmo58w0k4rfzs5okjtye7mokpqps1vl9ymq-0p6pr2gua7l8a6udb67tfndoo 192.168.0.105:2377
這樣我們就建好了swarm,兩臺(tái)主機(jī)現(xiàn)在建立好了關(guān)系

docker-compose.yml

version: '3'
services:
    web:
        image: app:v1
        ports:
            - "5555:5000"
        deploy:
            replicas: 2
        command:
            python /code/app.py
docker stack deploy -c docker-compose.yml myflask 
如果你用swarm 連接2 個(gè)機(jī)器,那么 在manager上運(yùn)行該語句即可,會(huì)自動(dòng)進(jìn)行分布式部署跟運(yùn)行的創(chuàng)建。

到此,相信大家對(duì)“怎么設(shè)置Docker Swarm”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


標(biāo)題名稱:怎么設(shè)置DockerSwarm
標(biāo)題來源:http://weahome.cn/article/ggssej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部