亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么設置Docker Swarm

發布時間:2021-12-08 13:39:34 來源:億速云 閱讀:138 作者:iii 欄目:大數據

本篇內容主要講解“怎么設置Docker Swarm”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么設置Docker Swarm”吧!

環境

  我是用了兩臺centos7的虛擬機來做這個教程他們的ip分別是

服務器:192.168.0.105  // 也是私有倉庫服務器
服務器2: 192.168.0.49

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

設置Docker Swarm

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

docker swarm init

  執行命令后會給出加入這個swarm的命令

 怎么設置Docker Swarm

  在192.168.0.49上執行命令加入swarm

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

 怎么設置Docker Swarm

  這樣我們就建好了swarm,兩臺主機現在建立好了關系。

web服務

  web服務是用go語言寫一個簡單的接口,返回主機的名稱:這樣方便我們查看是否有負載

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 文件:

執行的意思就是基于golang境像,把代碼復制到相應文件夾,暴露出端口,運行程序。簡單吧

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 文件所在的文件夾

怎么設置Docker Swarm

你可以運行一下新生成的鏡像

docker run -p 8100:8000 7a7e3

怎么設置Docker Swarm

鏡像提交到私有倉庫

關于如何搭建私有倉庫服務器我這里的就多說了,可以去我之前的帖子看一下

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

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

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

因為集群的上機器是自動從倉庫取鏡像然后再運行程序,所以需要將我們上面生成的鏡像推送到我們的私有倉庫上去。我自己搭建的

使用tag重新命名

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

怎么設置Docker Swarm

 docker-compose 文件

   接下來創建docker-compose.yml文件

 image 就是我們上面創建好的鏡像。運行5個應用程序,docker 會自己做負載,端口映射8111,失敗時自動重啟服務,并且創建了自己的網絡,當有多個server服務時這個非常有用。

里面的具體參數,大家可以看官方教程: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:

部署應用

  到了最后的階段了,部屬一樣很簡單,執行deploy命令, 在兩個IP 上創建好鏡像,然后再manager上運行如下指令即可

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  查看節點

怎么設置Docker Swarm

查看啟動的服務

docker service ps mygoweb_web

怎么設置Docker Swarm

測試服務

看這些返回的主機名:不一樣吧。docker 為我們做了負載了。

 怎么設置Docker Swarm

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

1.創建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! 該頁面已被訪問 {} 次。\n'.format(count)
if __name__ == "__main__":
    app.run(host="0.0.0.0", debug=True,port=5000)

建立好image

docker build -t app:v1 .

創建集群

manager IP: 192.168.0.105
主服務器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,兩臺主機現在建立好了關系

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 個機器,那么 在manager上運行該語句即可,會自動進行分布式部署跟運行的創建。

到此,相信大家對“怎么設置Docker Swarm”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南雄市| 涞源县| 丽江市| 安陆市| 大荔县| 马尔康县| 曲阳县| 塔河县| 湖州市| 东安县| 普定县| 丘北县| 林芝县| 田阳县| 望奎县| 宁河县| 天气| 古丈县| 固镇县| 周至县| 蓬莱市| 承德市| 海宁市| 从江县| 伊通| 梨树县| 龙州县| 新乐市| 抚顺县| 天全县| 商洛市| 边坝县| 霍林郭勒市| 商河县| 乾安县| 三河市| 日照市| 兰溪市| 乐清市| 武安市| 嘉峪关市|