×
Docker 前言

Docker 简介

Docker 是什么为什么要用 DockerDocker 基本概念Docker 镜像Docker 容器的运用Docker 仓库

Docker 安装指南

Ubuntu 安装DockerCentOS 安装DockerDocker 介绍镜像Docker 如何获取镜像Docker 列出镜像Docker 创建镜像Docker 存出和载入镜像Docker 移除镜像Docker 镜像的实现原理Docker 介绍容器Docker 进入容器Docker 导出和导入容器Docker 删除容器Docker 启动容器Docker 守护态运行容器Docker 终止容器Docker 仓库介绍Docker HubDocker 私有仓库Docker 配置文件Docker 如何进行数据管理Docker 数据卷Docker 数据卷容器Docker 备份、恢复、迁移

Docker 使用网络

Docker 容器如何互联Docker 外部访问容器Docker 高级网络配置Docker 快速配置指南Docker 配置 DNSDocker 容器访问控制Docker 端口映射实现Docker 配置 docker0 网桥Docker 自定义网桥Docker 工具和示例Docker 编辑网络配置文件实例:创建一个点到点连接

Docker 实战案例

使用 Supervisor 来管理进程创建 tomcat/weblogic 集群多台物理主机之间的容器互联标准化开发测试和生产环境Docker 安全Docker 内核名字空间Docker 控制组Docker 服务端防护Docker 内核能力机制Docker 其它安全特性Docker 安全总结DockerfileDockerfile 基本结构Dockerfile 指令Dockerfile 创建镜像Docker 底层实现Docker 基本架构Docker 名字空间Docker 控制组Docker 联合文件系统Docker 容器格式Docker 网络Docker Etcd项目Docker etcd简介Docker 安装etcdDocker 使用 etcdctlDocker Fig 项目Docker fig简介Docker 安装FigDocker Fig命令参考Docker fig.yml参考Docker Fig环境变量参考Docker Fig实战 DjangoDocker Fig实战 RailsDocker Fig实战 wordpressDocker CoreOS 项目Docker Kubernetes 项目Docker Kubernetes简介Docker Kubernetes快速上手Docker Kubernetes架构设计Docker 附录一:命令查询Docker 附录二:常见仓库介绍Docker 常见仓库NginxDocker 常见仓库WordPressDocker 常见仓库Node.jsDocker 常见仓库UbuntuDocker 常见仓库CentOSDocker 常见仓库MySQLDocker 常见仓库MongoDBDocker 常见仓库RedisDocker 附录三:有用的资源

Docker安装etcd


etcd 基于 Go 语言实现,因此,用户可以从 项目主页 下载源代码自行编译,也可以下载编译好的二进制文件,甚至直接使用制作好的 Docker 镜像文件来体验。

二进制文件方式下载

编译好的二进制文件都在 github.com/coreos/etcd/releases 页面,用户可以选择需要的版本,或通过下载工具下载。

例如,下面的命令使用 curl 工具下载压缩包,并解压。

curl -L  https://github.com/coreos/etcd/releases/download/v2.0.0-rc.1/etcd-v2.0.0-rc.1-linux-amd64.tar.gz -o etcd-v2.0.0-rc.1-linux-amd64.tar.gz
tar xzvf etcd-v2.0.0-rc.1-linux-amd64.tar.gz
cd etcd-v2.0.0-rc.1-linux-amd64

解压后,可以看到文件包括

$ ls
etcd  etcdctl  etcd-migrate  README-etcdctl.md  README.md

其中 etcd 是服务主文件,etcdctl 是提供给用户的命令客户端,etcd-migrate 负责进行迁移。

推荐通过下面的命令将三个文件都放到系统可执行目录 /usr/local/bin//usr/bin/

$ sudo cp etcd* /usr/local/bin/

运行 etcd,将默认组建一个两个节点的集群。数据库服务端默认监听在 2379 和 4001 端口,etcd 实例监听在 2380 和 7001 端口。显示类似如下的信息:

$ ./etcd
2014/12/31 14:52:09 no data-dir provided, using default data-dir ./default.etcd
2014/12/31 14:52:09 etcd: listening for peers on http://localhost:2380
2014/12/31 14:52:09 etcd: listening for peers on http://localhost:7001
2014/12/31 14:52:09 etcd: listening for client requests on http://localhost:2379
2014/12/31 14:52:09 etcd: listening for client requests on http://localhost:4001
2014/12/31 14:52:09 etcdserver: name = default
2014/12/31 14:52:09 etcdserver: data dir = default.etcd
2014/12/31 14:52:09 etcdserver: snapshot count = 10000
2014/12/31 14:52:09 etcdserver: advertise client URLs = http://localhost:2379,http://localhost:4001
2014/12/31 14:52:09 etcdserver: initial advertise peer URLs = http://localhost:2380,http://localhost:7001
2014/12/31 14:52:09 etcdserver: initial cluster = default=http://localhost:2380,default=http://localhost:7001
2014/12/31 14:52:10 etcdserver: start member ce2a822cea30bfca in cluster 7e27652122e8b2ae
2014/12/31 14:52:10 raft: ce2a822cea30bfca became follower at term 0
2014/12/31 14:52:10 raft: newRaft ce2a822cea30bfca [peers: [], term: 0, commit: 0, lastindex: 0, lastterm: 0]
2014/12/31 14:52:10 raft: ce2a822cea30bfca became follower at term 1
2014/12/31 14:52:10 etcdserver: added local member ce2a822cea30bfca [http://localhost:2380 http://localhost:7001] to cluster 7e27652122e8b2ae
2014/12/31 14:52:11 raft: ce2a822cea30bfca is starting a new election at term 1
2014/12/31 14:52:11 raft: ce2a822cea30bfca became candidate at term 2
2014/12/31 14:52:11 raft: ce2a822cea30bfca received vote from ce2a822cea30bfca at term 2
2014/12/31 14:52:11 raft: ce2a822cea30bfca became leader at term 2
2014/12/31 14:52:11 raft.node: ce2a822cea30bfca elected leader ce2a822cea30bfca at term 2
2014/12/31 14:52:11 etcdserver: published {Name:default ClientURLs:[http://localhost:2379 http://localhost:4001]} to cluster 7e27652122e8b2ae

此时,可以使用 etcdctl 命令进行测试,设置和获取键值 testkey: "hello world",检查 etcd 服务是否启动成功:

$ ./etcdctl set testkey "hello world"
hello world
$ ./etcdctl get testkey
hello world

说明 etcd 服务已经成功启动了。

当然,也可以通过 HTTP 访问本地 2379 或 4001 端口的方式来进行操作,例如查看 testkey 的值:

$ curl -L http://localhost:4001/v2/keys/testkey
{"action":"get","node":{"key":"/testkey","value":"hello world","modifiedIndex":3,"createdIndex":3}}

Docker 镜像方式下载

镜像名称为 quay.io/coreos/etcd:v2.0.0_rc.1,可以通过下面的命令启动 etcd 服务监听到 4001 端口。

$ sudo docker run -p 4001:4001 -v /etc/ssl/certs/:/etc/ssl/certs/ quay.io/coreos/etcd:v2.0.0_rc.1

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)