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来设置各个节点

相关文章
相关标签/搜索