1.安装docker环境
2.获取最新consul镜像
docker pull consul
xubin@ubuntu:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
consul latest 2d7f56f4c166 4 days ago 104MB
3.创建容器
docker run -d --name consul --restart=always --net=host consul agent -server -bind=192.168.177.129 -node=server -bootstrap-expect 1
4.相关参数说明
- –name 容器名称
- –restart=always 总是自动启动
- –net=host 使用宿主机网络,这是运行consul的docker镜像必须带有的参数,因为consul的consensus和gossip协议对于网络的延迟和丢包很敏感,所以引入额外的其他网络类型的层是不可取并且不必要的。这样之后,外界可以通过宿主机ip来访问该consul server。
- agent 运行一个consul agent
- -server 指定节点为server
- -bind 指明节点的IP地址
- -node 指定节点在集群中的名称
- -bootstrap-expect 该命令通知consul server我们现在准备加入的server节点个数,该参数是为了延迟日志复制的启动直到我们指定数量的server节点成功的加入后启动。
参考文章