Tag: docker swarm

无法连接到我的群

我将我的群组导入了docker cloud。 我有两台机器在云端,第三台机器是我的。 我想连接swarm(意思是运行命令来自我的机器上的一个pipe理员 – worker节点 – 如果我错了,请纠正我 )。 连接到stavalfi / swarm1:(第一个命令是docker云告诉我运行的) root@stavalfi:~# docker run –rm -ti -v /var/run/docker.sock:/var/run/docker.sock -e DOCKER_HOST dockercloud/client stavalfi/swarm1 => You can now start using the swarm stavalfi/swarm1 by executing: export DOCKER_HOST=tcp://127.0.0.1:32768 root@stavalfi:~# export DOCKER_HOST=tcp://127.0.0.1:32768 root@stavalfi:~# docker ps Error response from daemon: Get https://cuiez4n2tvdbjt0acbug84tgz.direct.docker.cloud:2376/v1.32/containers/json: dial tcp: lookup cuiez4n2tvdbjt0acbug84tgz.direct.docker.cloud on 8.8.8.8:53: no […]

Docker群覆盖networking不适用于不同主机中的容器

docker群中存在networking问题。 问题在下面; 我们已经通过wmware虚拟化了环境(vsphere 6.02) 我们的服务器是从vmware创build的,比如server1和server2 我们有一个docker撰写文件来定义一些服务 我们在docker-swarm的docker-compose中有一个overlay-network的定义 当我们部署使用docker-swarm部署的系统成功完成时,所有容器都从覆盖networking范围获取ip。 但问题是如果2容器(如cnt1和cnt2)部署到不同的服务器,他们不能ping通对方 我检查tcpdump,看到ARP通信是成功的,所以他们知道对方的Mac正确 但是,当您尝试ping到容器时,ICMP Echo消息被发送,但不会传送到第二台机器。 我应该在哪里检查,有什么build议? server-1:~$ docker version Client: Version: 17.03.0-ce API version: 1.26 Go version: go1.7.5 Git commit: 3a232c8 Built: Tue Feb 28 08:01:32 2017 OS/Arch: linux/amd64 Server: Version: 17.03.0-ce API version: 1.26 (minimum version 1.12) Go version: go1.7.5 Git commit: 3a232c8 Built: Tue Feb 28 […]

Docker swarm – login到rsyslog容器

我有一个docker群,有6个服务,我想logging到一个中央日志logging容器。 我有这个工作在我的开发环境(非swarm) – 请参阅下面的docker-compose文件。 当我尝试将configuration从dev env转换到我的swd prod env时,它失败。 首先我提出日志服务: docker service create –replicas 1 \ –name logserver \ –network phototankswarm \ –constraint=node.hostname==pi2 \ -p localhost:5514:514 \ kaninfod/pt-syslog 这很好地运行。 然后其中一个服务(例如redis): docker service create –replicas 1 \ –name redis \ –network phototankswarm \ –constraint=node.hostname==pi1 \ –log-driver=syslog \ –log-opt syslog-facility="daemon" \ –log-opt tag="rails" \ –log-opt syslog-address="tcp://localhost:5514" \ -p […]

Docker Swarm如何处理数据库(PostgreSQL)复制?

我正在学习Docker Swarm模式,我设法在本地创build了一个Swarm,它有一个Web应用程序和一个PostgreSQL数据库。 我可以扩展它们,并且看到Swarm创build副本。 我想我理解Docker Swarm如何负载平衡常规Web服务器 ,但是如何处理数据库容器的开箱即用? 在Swarm环境之外,通常数据库有自己的方式来处理复制,以插件或扩展产品的forms,如MySQL集群 。 像Cassandra这样的其他数据库已经直接复制到他们的产品中。 在Swarm上下文中,我们是否还需要依赖这些数据库插件和function? 处理数据库容器副本之间数据一致性的预期模式是什么? 我知道这是一个非常开放的问题,但是Docker的文档也是非常开放的,我似乎无法find任何具体的东西。

微服务和数据库

在微服务架构中部署数据库的最佳实践是什么,更准确地说是在分布式环境中,比如docker群? 微服务原则规定,每个服务应该是无状态的,以实现扩展。 由于数据库显然有一个状态,它应该在群集之外的固定位置上生存,在群集初始化之前进行部署和configuration? 我很困惑,因为所有的docker组合示例在服务定义中包含数据库容器。 但事情并不那么简单。 在准备使用之前,数据库通常需要大量的configuration。 另外,docker员在协调服务启动顺序方面很糟糕。 如果将数据库和服务一起部署在Docker群中是一个很好的做法,那么如何确保Cricial数据的一致性和持久性呢?