docker - Docker Swarm - 守护进程重启后不启动服务
问题描述
我在运行大约 10 种不同服务的测试服务器中使用 Docker Swarm。我使用 docker compose 创建服务,然后连接到预先存在的桥接网络,而不是默认的覆盖网络:
h2r@test-server:~$ docker network inspect ecommerce-new-bridge
[{
"Name": "ecommerce-new-bridge",
"Id": "pwty628ng11z2px8rz39bdsfx",
"Created": "2019-01-10T10:46:14.14717554Z",
"Scope": "swarm",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "",
"Options": null,
"Config": []
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": null,
"Options": null,
"Labels": null
}]
这是我的 docker compose 之一:
version: '3.5'
services:
zookeeper:
image: wurstmeister/zookeeper:3.4.6
deploy:
resources:
limits:
memory: 128M
reservations:
memory: 32M
ports:
- 2181:2181
environment:
- _JAVA_OPTIONS=-Xmx128m -Xms32m
kafka:
image: wurstmeister/kafka:1.0.0
depends_on:
- zookeeper
deploy:
resources:
limits:
memory: 256M
reservations:
memory: 128M
environment:
KAFKA_ADVERTISED_HOST_NAME: 192.168.1.100
KAFKA_ZOOKEEPER_CONNECT: 192.168.1.100:2181
KAFKA_HEAP_OPTS: -Xmx256M -Xms128M
ports:
- 9092:9092
postgresql:
image: postgres:10.6
deploy:
resources:
limits:
memory: 512M
reservations:
memory: 128M
volumes:
- /opt/volumes/postgresql:/var/lib/postgresql/data
environment:
- POSTGRES_USER=teste
- POSTGRES_PASSWORD=teste
- POSTGRES_DB=postgres
ports:
- 5432:5432
networks:
default:
external: true
name: ecommerce-new-bridge
当我第一次创建网络并部署服务时,它就像一个魅力。但是有时我们需要重新启动这台计算机,而不是仅仅启动服务,docker 会抱怨网络:
Rejected 8 seconds ago "network pwty628ng11z2px8rz39bdsfx exists"
roh4aroxisobwwqcc144vp9bq ecommerce_zookeeper.1 wurstmeister/zookeeper:3.4.6@sha256:294d69bb580a614ed3128969b95b5355c480e84704d826cdf73e790b5a6e63fc test-server Shutdown
当然该网络存在,它在撰写文件中被标记。有什么我做错了吗?
解决方案
推荐阅读
- sql - POSTGRESQL - 查找具有特定连接表数据集的行
- java - 无法让我的代码重复问题以继续游戏
- python - 通过 exec 导入 Python 不起作用,而硬编码导入起作用
- json - Laravel Simplexml 错误尚无法将复杂类型分配给属性
- ruby-on-rails - Rails ActiveJob 无法加载 aws-sdk-transcribeservice
- javascript - 我写了一个递归函数,但它只返回一个孩子,我怎样才能让它返回所有孩子?
- python - 转置 DataFrame 后将行设置为标题的首选方法
- android - Android ExoPlayer 演示:在屏幕锁定的情况下继续播放
- delphi - E2010 不兼容的类型
- python - 树莓派 python 编辑器