【发布时间】:2018-06-19 19:23:28
【问题描述】:
我有两个 AWS 实例:
production-01
docker-machine-master
我 ssh 进入 docker-machine-master 并运行 docker stack deploy -c deploy/docker-compose.yml --with-registry-auth production 并收到此错误:
此节点不是集群管理器。使用“docker swarm init”或“docker swarm join”将此节点连接到swarm并重试
我的猜测是集群管理器在某个时候宕机了,这个新实例启动了一些如何保持相同的信息/配置减去集群管理器信息。也许内部IP发生了变化或其他什么。我做出这个猜测是因为发布时间相差几个月。 production-01 实例在 6 个月前启动。我不知道,因为我是 AWS、Docker 和这个项目的新手。
我想将代码更改部署到 production-01 实例,但我没有 ssh 密钥来执行此操作。另外,我的预感是 production-01 是 docker-compose.yml 文件中注明的副本。
我是这个项目的唯一开发者,因此我们将不胜感激。
这是我的 docker-compose.yml 文件的副本,名称已更改。
version: '3'
services:
database:
image: postgres:10
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=pass
deploy:
replicas: 1
volumes:
- db:/var/lib/postgresql/data
aservicename:
image: 123.456.abc.amazonaws.com/reponame
ports:
- 80:80
depends_on:
- database
environment:
DB_HOST: database
DATA_IMPORT_BUCKET: some_sql_bucket
FQDN: somedomain.com
DJANGO_SETTINGS_MODULE: name.settings.production
DEBUG: "true"
deploy:
mode: global
logging:
driver: awslogs
options:
awslogs-group: aservicename
cron:
image: 123.456.abc.amazonaws.com/reponame
depends_on:
- database
environment:
DB_HOST: database
DATA_IMPORT_BUCKET: some_sql_bucket
FQDN: somedomain.com
DOCKER_SETTINGS_MODULE: name.settings.production
deploy:
replicas: 1
command: /name/deploy/someshellfile.sh
logging:
driver: awslogs
options:
awslogs-group: cron
networks:
default:
driver: overlay
ipam:
driver: default
config:
- subnet: 192.168.100.0/24
volumes:
db:
driver: rexray/ebs
【问题讨论】:
标签: docker docker-compose docker-swarm docker-machine