Windows利用Swarm原生Docker集群踩坑總結(jié)-創(chuàng)新互聯(lián)

環(huán)境:

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比拜泉網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式拜泉網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋拜泉地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。
角色機(jī)器名稱操作系統(tǒng)IP備注
MaterWeb30Windows Server 2016 GUI192.168.2.30安裝最新推薦補(bǔ)丁
NodeWeb31Windows Server 2016 Core192.168.2.31安裝最新推薦補(bǔ)丁
NodeWeb32Windows Server 2016 Core192.168.2.32安裝最新推薦補(bǔ)丁

第一坑:Windows Server 2016 Core

1.操作系統(tǒng)分區(qū)坑

  由于我們使用的Windows鏡像都是基于microsoft/windowsservercore大小都在10G左右,還需要安裝IIS、aspnet等等,另外如果涉及到鏡像導(dǎo)出也會占用C盤空間,如果是做Docker的話建議C盤空間不小于60G,或者干脆只分C盤。

 踩坑解決辦法:在硬盤還有大量富余空間的情況下,可采用掛載文件夾的形式,掛載C:\ProgramData\docker\windowsfilter文件夾

Windows利用Swarm原生Docker集群踩坑總結(jié)

2.命令行如何設(shè)置機(jī)器IP及機(jī)器名稱及開啟遠(yuǎn)程桌面

在CMD命令提示符下執(zhí)行sconfig即可,建議開啟遠(yuǎn)程桌面方面命令輸入

Windows利用Swarm原生Docker集群踩坑總結(jié)

3.安裝Docker之前一定需要安裝最新的Windows補(bǔ)丁

方法:sconfig--->6)下載并安裝更新--->R)僅搜索推薦的更新---->A)安裝所有

4.文件如何復(fù)制到Windows Server Core下,在命令行下

打開可寫共享

cd \

mkdir share

net share share=c:\share /grant:everyone,full

連接共享

net use z: \\192.168.2.30\share password /user:administrator

于是就映射共享到Z盤,進(jìn)入Z盤即可操作文件

刪除共享

net share c:\share /del /y

5.在Windows命令行如何查看文件

type filename.txt

追加文件

echo 127.0.0.1 web30 >>\windows\system32\drivers\etc\hosts

6.查看Windows進(jìn)程

tasklist

7.殺死進(jìn)程

tskill

第二坑:Windows 2016原生Docker

1.Windows安裝Docker

在命令提示符出入powershell,

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force Install-Package -Name docker -ProviderName DockerMsftProvider

如果第二部提示未安裝補(bǔ)丁,則需要安裝最新Windows補(bǔ)丁,輸入sconfig第6步

安裝完成之后重啟服務(wù)器

2.配置所有服務(wù)器的防火墻規(guī)則

TCP 端口 2377 用于群集管理通信

TCP 和 UDP 端口 7946 用于節(jié)點(diǎn)間通信

TCP 和 UDP 端口 4789 用于覆蓋網(wǎng)絡(luò)通信

netsh advfirewall firewall add rule name="swm 2377" dir=in action=allow protocol=TCP localport=2377  netsh advfirewall firewall add rule name="swm 7946" dir=in action=allow protocol=TCP localport=7946 netsh advfirewall firewall add rule name="swm 7946udp" dir=in action=allow protocol=UDP localport=7946 netsh advfirewall firewall add rule name="swm 4789" dir=in action=allow protocol=TCP localport=4789 netsh advfirewall firewall add rule name="swm 4789udp" dir=in action=allow protocol=UDP localport=4789

3.初始化群集模式

在Master上執(zhí)行

C:\> docker swarm init --advertise-addr=192.168.2.30 --listen-addr 192.168.2.30:2377

坑:在Linux上執(zhí)行docker swarm init即可初始化集群,但是在Windows上會卡住不動,在windows上需要指定IP及端口

4.加入集群(在Web31和Web32執(zhí)行)

在上面提示輸入

docker swarm join \     --token SWMTKN-1-1lbjx00s1qsjbjfuoq92f6d95mf41arbhwbkkigmo1smjqs38r-8i0bdakwhc3lvbbog8fnmvgmw \     192.168.2.30:2377

即可加入集群,注意此處需要修改為一行

docker swarm join --token SWMTKN-1-1lbjx00s1qsjbjfuoq92f6d95mf41arbhwbkkigmo1smjqs38r-8i0bdakwhc3lvbbog8fnmvgmw 192.168.2.30:2377

坑1:加入集群命令只可以用一行,不可以使用\來進(jìn)行換行

坑2:一定要在防火墻打開相應(yīng)的規(guī)則,打開2377/TCP、7946/TCP、7946/UDP、4789/TCP、4789/UDP端口

坑3:目前測試Linux可以加入Windows Swarm集群,Windows也可以加入Linux Swarm集群,經(jīng)過測試我將Linux節(jié)點(diǎn)加入Windows Swarm集群是正常工作的,但是Linux Swarm Master管理Windows節(jié)點(diǎn)報(bào)錯,不知是否跟版本存在關(guān)系

在Windows Swarm Master節(jié)點(diǎn)上執(zhí)行

docker service create --name=ping --constraint "Node.Platform.OS==Linux" --network=myspace centos ping 127.0.0.1

注意:--constraint "Node.Platform.OS==Linux"一定是雙引號,不能是單引號,否則報(bào)Error response from daemon: rpc error: code = 2 desc = key ''node.Platform.OS' is invalid

5.服務(wù)端口映射問題

在Linux環(huán)境下我們可以通過

docker service create -name web -p 80:80 nginx

在執(zhí)行之后各個節(jié)點(diǎn)都可以通過80端口進(jìn)行服務(wù),但是在Windows是不行的

docker service create -name iis -p 80:80 microsoft/iis執(zhí)行之后是無法通過80端口訪問

目前是通過

docker service create -name iis -p mode=host,target=80,published=80,protocol=tcp microsoft/iis

然后通過docker service ps iis

C:\Users\Administrator>docker service ps iis ID            NAME   IMAGE                 NODE   DESIRED STATE  CURRENT STATE        ERROR  PORTS e118tf9vu15l  iis.2  microsoft/iis:latest  Web32  Running        Running 2 hours ago         *:8090->80/tcp

 可以看到容器在Web32上,這個時候訪問192.168.2.32:8090即可正常訪問,但是訪問主機(jī)的8090端口是無法使用的

6.Docker私有倉庫配置

配置私有倉庫

方法1:更改注冊表[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Docker]

修改為C:\Program Files\Docker\dockerd.exe --run-service --insecure-registry "192.168.2.234:5000"

方法2:修改Docker配置文件,建議修改配置文件

C:\ProgramData\docker\config\daemon.json

{

 "insecure-registries" : ["192.168.2.234:5000"]

}

如果沒有該文件可以創(chuàng)建以ASSIC形式

7.Windows Docker開啟遠(yuǎn)程端口訪問

方法一:注冊表修改Docker啟動參數(shù)

C:\Program Files\Docker\dockerd.exe --run-service -D -H tcp://0.0.0.0:2375 -H npipe://

方法二:修改Docker daemon.json配置文件

{     "hosts": ["tcp://0.0.0.0:2376", "npipe://"] }

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享文章:Windows利用Swarm原生Docker集群踩坑總結(jié)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://www.muchs.cn/article38/pespp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名域名注冊、外貿(mào)建站、全網(wǎng)營銷推廣用戶體驗(yàn)、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)