Docker+etcd 筆記

以前的gRPC例子忽然報錯,排錯以後確認是etcd的服務被關閉.而後別人建議本身在docker上建一個etcd服務,最近就看了一下<Docker 技術入門與實踐>這本書,裏面也講到了etcd.有限的理解,記一下筆記.後期整理成一整套方案.python


Docker基礎命令

搜索debian的鏡像  docker search debian
golang

拉debian鏡像下載  docker pull debian
web

查看鏡像 docker images
docker

刪除鏡像 docker rmi
ubuntu


進入容器並不退出
centos

docker run —name mydocker -it centos /bin/bash
bash


退出容器 exitapp


持續啓動鏡像並指定容器,會返回一個容器curl

id docker run -d —name mydocker2 ubuntu
post


docker run -i -t ubuntu /bin/bash 語句中,後面加/bin/bash的用處:

容許用戶進行交互: 這是表示載入容器後運行bash ,docker中必需要保持一個進程的運行,要否則整個容器就會退出。


建立一個容器 docker create -it ubuntu:latest

查看全部容器 docker ps -a

啓動容器 (持久-i) docker start containerId

關閉容器 docker stop containerId

容器重命名 docker rename oldname newname

獲取容器長ID docker inspect -f '{{.Id}}' golang001


數據卷容器

數據卷容器也是一個容器,可是它的目的的專門用來提供數據卷供其餘容器掛載.即由他直接掛載到本地路徑,其餘容器經過掛載上它來獲取本地路徑的文件.

建立一個數據卷容器dbdata,並掛載到 /dbdata

docker run -it -v /dbdata --name dbdata ubuntu


其餘容器使用--volumes-from來掛載dbdata容器中 數據卷

docker run -it --volumes-from dbdata --name db2 ubuntu

如今dbdata跟db2容器都掛載到同一個數據卷的/dbdata目錄.


端口映射實現訪問容器 -p

docker run -d -p 5000:6000 ubuntu python app.py


容器之間的互聯

建立一個新的web容器,並將它鏈接到db容器

docker run -d -P --name web --link db:db ubuntu python app.py


etcd筆記

在docker跑一個etcd:

docker run -p 2379:2379 -p 2380:2380 -v /etc/ssl/certs/:/etc/ssl/certs/  quay.io/coreos/etcd:v3.0.4


etcdctl客戶端命令:

(不經過etcdctl客戶端,也能夠經過http來運行命令,具體看: 開始使用etcd - 服務發現與配置共享)


設置某個鍵的值爲給定值

etcdctl set /testdir/testkey "Hello world"


get 獲取指定鍵的值

update 當鍵存在時,更新值的內容

rm 刪除某個鍵值


etcdctl watch testkey

監測一個鍵值的變化,一旦鍵值發生更新,就會輸出最新的值並退出.

支持的選項包括:

--forever 一直監測,知道用戶按'CTRL+C'退出

--after-index '0'   在指定index以前一直監測

--recursive   返回全部的鍵值和子鍵值


exec-watch

監測一個鍵值的變化,一旦鍵值發生更新,就執行給定的命令

例如,一旦監測到testkey鍵值被更新,則執行ls命令:

etcdctl exec-watch testkey -- sh -c 'ls'


ls  列出目錄下的鍵或者子目錄

mkdir 若是給定的鍵目錄不存在,則建立一個新的鍵目錄.


Etcd集羣管理--動態發現

CoreOS提供了一個公開的Etcd發現服務,地址在https://discovery.etcd.io

建立的集羣申請一個獨一無二的UUID,須要提供集羣中節點的個數(大於等於3且爲奇數)

curl https://discovery.etcd.io/new?size=3

https://discovery.etcd.io/792h8h9h329hr9329rh23

經過uuid來設置各個節點

相關文章
相關標籤/搜索