consul有两种运行模式,dev和prod模式。
dev模式一般是自己开发和学习时候用的,这种模式下,consul在内存运行,不会对保存的信息做持久化,因此服务重启后所有信息都会丢失。
在shell中执行:
consul agent -dev # -dev表示开发模式运行,另外还有-server表示prod模式运行
查看本机开放的端口:
可以看到,有一些端口(8500, 8600, 8502, 8302等
)被consul占用。
由于8500端口监听的是127.0.0.1
,此时只有本机可以访问该端口
如果想在公网上访问,则要监听0.0.0.0
:
consul agent -dev --client=0.0.0.0 # -dev表示开发模式运行,另外还有-server表示服务模式运行
由于本实验运行在cloud 9环境,需要将consul http port运行在8080端口。
将上一步中的consul停止运行,重新执行:
consul agent -dev -http-port=8080 # 参考:https://www.consul.io/docs/agent/options#_http_port
访问Preview Running Application
:
加载出consul的UI:
可选实验:
在consul的Key/Value
页面,创建一个k/v键对。然后重启consul,观察该键对是否还会存在。
提示:在dev模式下,consul在内存运行,不会对保存的信息做持久化。