1. 程式人生 > >Swarm建立docker叢集:服務發現-配置檔案法

Swarm建立docker叢集:服務發現-配置檔案法

  • 本文不詳細介紹swarm、docker的原理、架構,主要記錄Centos7上安裝docker、swarm構建docker叢集的步驟。
  • 安裝swarm有兩種方式:(1)通過docker官方獲取token-id(2)配置檔案中配置節點。由於方法1需要訪問外網,所以對內網環境有侷限性。

環境

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@localhost ~]# docker --version
Docker version 1.8.2-el7.centos, build a01dc02/1.8
.2 [root@localhost ~]#
  • 本文只通過1個docker節點組成swarm+docker叢集進行實驗。

Docker安裝&配置

swarm配置檔案

echo "[docker_ip]:[docker_port]" >> /your/path/cluster
  • [docker_ip]換成要加入docker叢集的節點ip,將 [docker_port]換成上面配置的埠,例如2375.
  • /your/path/cluster換成配置檔案的位置。例如/root/cluster。

  • 可以重複此步驟將多個節點新增到叢集中。或者直接按照這種格式編輯cluster檔案。

安裝&啟動swarm

說明:docker官方提供了swarm的映象,目前的swarm安裝過程均是下載swarm映象並啟動。

  • 下載swarm映象:docker pull swarm
docker run –d –p [swarm_port]:2375 –v /your/path/cluster:/tmp/cluster --privileged=true swarm manage file:///tmp/cluster
  • 啟動swarm:將上面命令中/your/path/cluster替換成自己的配置檔案位置。例如/root/cluster
  • 將[swarm_port]換成swarm的ip(未被佔用即可),例如:2376
  • 命令中的2375不需要替換,因為swarm映象預設expose了2375埠。

驗證

  • 通過swarm檢視節點
docker run --rm=true --privileged=true -v /root/cluster:/tmp/cluster docker.io/swarm list file:///tmp/cluster
  • 可以看到如下內容:
[root@localhost ~]# docker run --rm=true --privileged=true -v /root/cluster:/tmp/cluster docker.io/swarm list file:///tmp/cluster
192.168.1.65:2375
[root@localhost ~]#
  • 通過docker檢視節點.
  • swarm_ip換成swarm所在的節點的ip。
  • swarm_port換成swarm的埠,例如2376.
docker -H [swarm_ip]:[swarm_port] info
  • 可以看到如下內容:
[[email protected] ~]# docker -H 192.168.1.65:2376 info
Containers: 1
Images: 1
Role: primary
Strategy: spread
Filters: health, port, dependency, affinity, constraint
Nodes: 1
 localhost.localdomain: 192.168.1.65:2375
  └ Status: Healthy
  └ Conttainers: 1
  └ Reserved CPUs: 0 / 8
  └ Reserved Memory: 0 B / 32.79 GiB
  └ Labels: executiondriver=native-0.2, kernelversion=3.10.0-229.el7.x86_64, operatingsystem=CentOS Linux 7 (Core), storagedriver=devicemapper
CPUs: 8
Total Memory: 32.79 GiB
Name: 5ae8d49987cf
[[email protected] ~]#
  • 上例中docker節點只有1個,且與swarm在同一個host機中。

叢集中建立容器

建立兩個容器:執行2次docker run busybox
通過docker -H [swarm_ip]:[swarm_port] ps -a可以看到swarm中建立的docker容器.
通過docker ps -a可以看到在本機上也有兩個容器。

因為該示例中有1個docker節點,所以2個容器都在1個docker節點上。如果有2個docker節點,可以看到2個容器分佈在不同的docker節點。

至此,swarm已經實驗完成

相關推薦

Swarm建立docker叢集:服務發現-配置檔案法

本文不詳細介紹swarm、docker的原理、架構,主要記錄Centos7上安裝docker、swarm構建docker叢集的步驟。 安裝swarm有兩種方式:(1)通過docker官方

Swarm建立docker叢集:服務發現-etcd

不詳細介紹swarm、docker的原理、架構 通過Docker + Etcd + Swarm 搭建docker叢集 術語 本文中用到的術語書名 docker節點(docker node):docker的執行環境,通常為物理機

Docker Kubernetes 服務發現原理詳解

轉換 size 提供服務 通信 環境變量 path soft family 0.10 Docker Kubernetes 服務發現原理詳解 服務發現支持Service環境變量和DNS兩種模式: 一、環境變量 (默認) 當一個Pod運行到Node,kubelet會為每個容器

Swarm搭建Docker叢集

一、什麼是Swarm Swarm這個專案名稱特別貼切。在Wiki的解釋中,Swarm behavior是指動物的群集行為。比如我們常見的蜂群,魚群,秋天往南飛的雁群都可以稱作Swarm behavior。 Swarm專案正是這樣,通過把多個Docker Engine聚集在一起,形成一個大的d

『高級篇』docker服務發現、部署更新和擴容(七)

所有 gem 測試 域名解析 cbc 代碼更新 mage ftp dock >原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝!>原文鏈接地址:『高級篇』docker之服務發現、部署更新和擴容(七) 服務發現 所有的表現形式都是ip+端口的形式。

docker實戰2 (docker swarm的應用,docker叢集的構建,在docker叢集中部署服務建立與更新)

前言: 在之前曾寫過一個關於docker叢集建立的教程,但是不夠深入,只是停留到叢集的初始化和節點加入上,這次具體到服務,並詳細講解其中的原理。而且總結了很多自己做的過程中所踩過的很多坑(比如映象的digest問題)。在查閱資料的過程還了解到了谷歌的kuber

搭建Docker Swarm叢集實戰(一)(服務發現使用consul)

注意: docker在版本1.12之後,已經將swarm的部分整合在docker裡面了,所以也就不需要依賴第三方的東西了。 所以如果不是為了有趣瞭解一下的話,請直接轉到本系列的第三篇開始=》搭建Docker Swarm叢集實戰(三)(swarm

基於docker-swarm搭建持續整合叢集服務

前言 本文只為自己搭建過程中的一些簡單的記錄。如果實踐中有疑問,可以一起探討。 為了能在本機(macOS)模擬叢集環境,使用了vb和docker-machine。整體持續整合的幾個機器設施如下: 服務節點:三個manager節點,一個wor

Docker 叢集Swarm建立Swarm Web管理

一、環境配置 1、安裝環境 # cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) # docker version Client: Version: 1.12.3 AP

docker叢集swarm配置

create --name nginx --publish 80:80 --replicas 3 nginx unable to pin image nginx to digest: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry

《Spring Cloud Netflix》 -- 服務註冊和服務發現-Eureka的常用配置

cti project ica 地址 cat 清理 class ict course 一、版本的說明 Angel版本對應Spring Boot 1.2.x,可以使用Spring Boot 1.3.x; Brixton版本對應Spring Boot 1.3.x,可以使用Spr

Spring Cloud 入門教程(四): 分布式環境下自動發現配置服務

.html article png discover ice conf label tail 註釋 前一章, 我們的Hello world應用服務,通過配置服務器Config Server獲取到了我們配置的hello信息“hello world”. 但自己的配置文件中必須配

Docker-容器服務 Container Service04(構建鏡像+倉庫配置

src bin ffffff 沒有 robot rom 過程 註釋 con Docker-構建鏡像-倉庫配置 04 一、Docker 鏡像介紹 Docker鏡像構建分為兩種: 1) 手動構建 2) Dockerfile(自動構建) 二、手動構建過程 基於 centos 鏡

SpringCloud系列四:Eureka 服務發現框架(定義 Eureka 服務端、Eureka 服務信息、Eureka 發現管理、Eureka 安全配置、Eureka-HA(高可用) 機制、Eureka 服務打包部署)

pac elf figure 傳遞 uri rect body 情況 服務組 1、概念:Eureka 服務發現框架 2、具體內容 對於服務發現框架可以簡單的理解為服務的註冊以及使用操作步驟,例如:在 ZooKeeper 組件,這個組件裏面已經明確的描述了一個服務的註冊以及發

深入淺出高性能服務發現配置框架Nacos系列 3: 服務發現:Nacos客戶端初始化流程

tor trim 如何 try 文件的 client 註冊 rgs erro 上一章節,我們從全局了解了一下Nacos項目的模塊架構,做到了心中有數,現在,我們去逐步去挖掘裏面的代碼細節,很多人在學習開源的時候,無從下手,代碼那麽多,從哪個地方開始看呢?我們可以從一個接口開

深入淺出高性能服務發現配置框架Nacos系列 2: Nacos項目結構介紹

開始 最新 世界 微信 頻繁 throwable enter ica ice 今天,我們分析一下Nacos工程的包模塊結構,都是負責什麽功能的,從全局看一下整個工程,從整體到細節,還沒下載源碼的同學,趕緊動起來!https://github.com/alibaba/naco

深入淺出高性能服務發現配置框架Nacos系列 1: HelloWorld

產品 val 下載源碼 tmp 系列 嘗試 文件夾 home The Nacos是什麽? 引用官方的介紹,他主要提供以下幾個功能點: 動態配置服務 服務發現及管理 動態DNS服務 動態配置服務 就是通過一個系統,管理系統中的配置項,在配置項需要更新的時候,可以通過管理系

zabbix 4.0 客戶端服務器自動註冊和自動發現配置

proc sha auto dbd mar test ext -o zabb 一.Discovery 此種方法是由服務器端發起的,對服務端性能消耗大。 把內網地址寫進去 創建actions ?選擇Discovery創建自動發發現Linux的Actions,自動添加到指定

springcloud-1.使用Eureka -robbon構建自動服務發現註冊叢集和消費者

1.使用Eureka元件建立服務中心Server_1 @EnableEurekaServer //表示自己是一個server @SpringBootApplication public class EurekaserverApplication { public static void