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

溫馨提示×

溫馨提示×

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

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

Docker Swarm如何部署

發布時間:2021-12-13 15:02:26 來源:億速云 閱讀:176 作者:小新 欄目:云計算

這篇文章主要介紹了Docker Swarm如何部署,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

軟件信息

軟件版本
OSUbuntu 16.04.3 LTS
Docker18.03.0-ce

主機信息

ubuntu16.04-1172.31.68.241swarm manager
ubuntu16.04-2172.31.68.242swarm node
ubuntu16.04-3172.31.68.243swarm node

swarm初始化

    初始化manager

docker swarm init --advertise-addr 172.31.68.241

Docker Swarm如何部署   

    初始化worker

docker swarm join --token SWMTKN-1-1mn8x6itne5ldwad5bmtgtdkemoim3o53dc7u2b5y5zj1lwj4l-etyttp60hpns5i4jifym7y3hd 172.31.68.241:2377

Docker Swarm如何部署

        ps:注意要在兩臺worker上都要執行

    查看node狀態

docker node ls

Docker Swarm如何部署

    禁止manager的worker功能

docker node update --availability drain ubuntu16.04-1

Docker Swarm如何部署

        ps:這樣就不會在manager上分配執行任務了

    給worker增加label

docker node update --label-add app ubuntu16.04-2
docker node update --label-add app ubuntu16.04-3

    查看一個node的詳細信息

docker node inspect ubuntu16.04-3

Docker Swarm如何部署

        ps:要查看某一項具體的信息,可以使用如下命令模式

docker node inspect ubuntu16.04-3  --format "{{ .Status.Addr }}"

創建service

    創建service,一個副本

docker service  create --replicas 1 -p 4000:80 --name hello 172.31.68.241/library/friendlyhello

Docker Swarm如何部署

    查看service

docker service ls
docker service ps hello

Docker Swarm如何部署

        ps:通過service ps可以看到真實的task是運行在ubuntu16.04-2的,容器的名稱叫hello.1。

    查看其它節點任務

docker container ls

Docker Swarm如何部署

        ps:可以看到在ubuntu16.04-2上,容器的真實名稱是:service名稱+任務id+一串隨機碼。而在ubuntu16.04-3上并無相關task運行,因為replicas為1

    查看service的詳細信息

docker service inspect hello
[
    {
        "ID": "woxqqkoqr6viu8flojtuuht97",
        "Version": {
            "Index": 25
        },
        "CreatedAt": "2018-08-17T07:20:13.503484813Z",
        "UpdatedAt": "2018-08-17T07:20:13.515429684Z",
        "Spec": {
            "Name": "hello",
            "Labels": {},
            "TaskTemplate": {
                "ContainerSpec": {
                    "Image": "172.31.68.241/library/friendlyhello:latest@sha256:05def471119a0937508cdcb2445cb55375d15257b0a117e954bcd3527c36eac2",
                    "StopGracePeriod": 10000000000,
                    "DNSConfig": {},
                    "Isolation": "default"
                },
                "Resources": {
                    "Limits": {},
                    "Reservations": {}
                },
                "RestartPolicy": {
                    "Condition": "any",
                    "Delay": 5000000000,
                    "MaxAttempts": 0
                },
                "Placement": {
                    "Platforms": [
                        {
                            "Architecture": "amd64",
                            "OS": "linux"
                        }
                    ]
                },
                "ForceUpdate": 0,
                "Runtime": "container"
            },
            "Mode": {
                "Replicated": {
                    "Replicas": 1
                }
            },
            "UpdateConfig": {
                "Parallelism": 1,
                "FailureAction": "pause",
                "Monitor": 5000000000,
                "MaxFailureRatio": 0,
                "Order": "stop-first"
            },
            "RollbackConfig": {
                "Parallelism": 1,
                "FailureAction": "pause",
                "Monitor": 5000000000,
                "MaxFailureRatio": 0,
                "Order": "stop-first"
            },
            "EndpointSpec": {
                "Mode": "vip",
                "Ports": [
                    {
                        "Protocol": "tcp",
                        "TargetPort": 80,
                        "PublishedPort": 4000,
                        "PublishMode": "ingress"
                    }
                ]
            }
        },
        "Endpoint": {
            "Spec": {
                "Mode": "vip",
                "Ports": [
                    {
                        "Protocol": "tcp",
                        "TargetPort": 80,
                        "PublishedPort": 4000,
                        "PublishMode": "ingress"
                    }
                ]
            },
            "Ports": [
                {
                    "Protocol": "tcp",
                    "TargetPort": 80,
                    "PublishedPort": 4000,
                    "PublishMode": "ingress"
                }
            ],
            "VirtualIPs": [
                {
                    "NetworkID": "zhamhv5cl7zhr7c7g6n1so6kv",
                    "Addr": "10.255.0.5/16"
                }
            ]
        }
    }
]

    訪問service

curl http://172.31.68.241:4000 -I
curl http://172.31.68.242:4000 -I
curl http://172.31.68.243:4000 -I

Docker Swarm如何部署

        ps:隨便訪問swarm mode集群內的任何一個節點,都可以正常訪問該服務。

    擴展service

docker service scale hello=2

Docker Swarm如何部署

    查看擴展厚的結果

docker service ps hello

Docker Swarm如何部署

  swarm config

    創建config

docker config create hello-config ./hello-config

Docker Swarm如何部署

    查看config

docker config ls

Docker Swarm如何部署

    查看詳細信息

docker config inspect hello-config

Docker Swarm如何部署

    在service中使用config

docker service create --replicas 1 --name config-test --config source=hello-config,target=/mnt/hello-config 172.31.68.241/library/friendlyhello

Docker Swarm如何部署

        查看task的運行worker

docker service ps config-test

Docker Swarm如何部署

        進入容器查看配置

docker container ls
docker container exec -it b06c415e7cac /bin/bash

Docker Swarm如何部署

        ps:如果在啟動service的時候不指定config的source/target,則默認config在容器內的掛載目錄在/hello-config

    查看config的本地目錄信息

        config一般在容器所在宿主機的/var/lib/docker/containers/container_id/mounts/secrets目錄下面,是一個隨機字符串文件

Docker Swarm如何部署

swarm secret

    config和secret的差別就是一個是本地文件,一個是在tmpfs中存儲的

    創建secret

#查看secretr文件
cat hello-config-secret
#創建secret
docker secret create hello-secret ./hello-config-secret
#查看secret
docker secret ls

Docker Swarm如何部署

    在service中使用secret

        啟動帶secret的service

#啟動服務
docker service create --replicas 1 --label app --secret hello-secret --name secret-test  172.31.68.241/library/friendlyhello
#查看task在哪臺機器運行
docker service ps secret-test

Docker Swarm如何部署

        查看容器中secret信息

docker container exec -it 47c8f6f74ae3 /bin/bash

Docker Swarm如何部署

        ps:在使用secret的時候,secret配置一般在/run/secrets/目錄下面,名稱就是secret名稱

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Docker Swarm如何部署”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

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

AI

建始县| 开远市| 安西县| 常熟市| 北宁市| 石屏县| 鄂伦春自治旗| 遂昌县| 棋牌| 全椒县| 岚皋县| 建平县| 彭州市| 杭锦旗| 青田县| 城口县| 南涧| 德兴市| 远安县| 白朗县| 区。| 彝良县| 琼海市| 郸城县| 胶州市| 阿城市| 辛集市| 德令哈市| 灯塔市| 鄂尔多斯市| 若羌县| 丰顺县| 峡江县| 榆树市| 美姑县| 连江县| 宣汉县| 汨罗市| 扎囊县| 乌拉特前旗| 靖宇县|