docker-compose 部署 NSQ 踩坑记录

前言 我的 nsq 使用 docker-compose 部署在云服务器上,但是我的程序在本地机器想连通云服务器上的nsq。 云服务器上的 docker-compose.yml 文件如下所示 本地的 Golang 代码如下所示 当我运行Go程序时,好巧不巧,在订阅数据处直接报了一个网络连接错误 从上面…

分布式一致性Raft算法图解|转载

前言 Raft算法应用广泛,例如Redis的哨兵模式就是一块重要的应用。 正文 分布式一致性 想象一下,我们有一个单节点系统,且作为数据库服务器,然后存储了一个值(假设为X)。然后,有一个客户端往服务器发送了一个值(假设为8)。只要服务器接受到这个值即可,这个值在单节点上的一致性非常容易保证: 但是…

docker 多阶段构建

Dockerfile 构建的镜像太大,我们可以使用多剪短构建的形式减小镜像的大小。 示例如下: 这里有几个坑,首先我们运行镜像使用 alpine,则 Golang 编译镜像必须使用 golang:1.13.13-alpine 中带 -alpine 后缀的镜像。否则就会报错 参考文献: 两个奇技淫巧,…

docker stack|容器编排实验

前言 在学 docker-swarm 时,我们必定会接触到docker-stack 命令 它的具体作用和和docker-compose相似,只不过docker-compose只能单机编排。而 docker stack 可以利用 docker-swarm 的优势实现多机编排。 举个最简单的例子:我可以…

docker 容器换源小坑

启动容器后发现 vi 命令不存在,想都没想就用了 yum install vi...... 可是发现yum 命令也不存在.....此时就要反思这个容器的系统是否是ubuntu的。 基础镜像如果是centos的则是yum安装命令,如果是ubuntu的则是apt-get。 当然要安装基础软件时,我们需要…