Я разрабатываю сервис с использованием docker-compose и развертываю контейнеры на удаленном хосте с помощью следующих команд:
eval $(docker-machine env digitaloceanserver)
docker-compose build && docker-compose stop && docker-compose rm -f && docker-compose up -d
Моя проблема в том, что я меняю ноутбук и экспортировал докеры на новый ноутбук, и я могу их активировать.
Но когда я пытаюсь внедрить новые изменения, возникают следующие ошибки:
Создание postgres ... ошибка Создание redis ... ОШИБКА: для postgres
Невозможно создать контейнер для службы postgres: b'Conflict.
имя контейнера "/ postgres" уже используется контейнером
"612f3887544224aeCreating redis ... errorERROR: для redis невозможно
создать контейнер для сервиса redis: b'Conflict. Название контейнера
"/ redis" уже используется контейнером
"01875947f0ce7ba3978238525923e54e0c800fa0a4b419dd2a28cc07c285eb78".
Вы должны удалить (или переименовать) этот контейнер, чтобы иметь возможность использовать его
name.'ERROR: для postgres Невозможно создать контейнер для сервиса
postgres: b'Conflict. Имя контейнера "/ postgres" уже используется
контейнером
"612f3887544224ae79f67e29552b4d97e246104b8a057b3a03d39f6546dbbd38".
Вы должны удалить (или переименовать) этот контейнер, чтобы иметь возможность использовать его
name.'ERROR: для redis Невозможно создать контейнер для службы redis:
b'Conflict. Имя контейнера "/ redis" уже используется контейнером
"01875947f0ce7ba3978238525923e54e0c800fa0a4b419dd2a28cc07c285eb78".
Вы должны удалить (или переименовать) этот контейнер, чтобы иметь возможность использовать его
название.' ОШИБКА: обнаружены ошибки при запуске проекта.
Мой docker-compose.yml такой:
services:
nginx:
build: './docks/nginx/.'
ports:
- '80:80'
- "443:443"
volumes:
- letsencrypt_certs:/etc/nginx/certs
- letsencrypt_www:/var/www/letsencrypt
volumes_from:
- web:ro
depends_on:
- web
letsencrypt:
build: './docks/certbot/.'
command: /bin/true
volumes:
- letsencrypt_certs:/etc/letsencrypt
- letsencrypt_www:/var/www/letsencrypt
web:
build: './sources/.'
image: 'websource'
ports:
- '127.0.0.1:8000:8000'
env_file: '.env'
command: 'gunicorn cuidum.wsgi:application -w 2 -b :8000 --reload --capture-output --enable-stdio-inheritance --log-level=debug --access-logfile=- --log-file=-'
volumes:
- 'cachedata:/cache'
- 'mediadata:/media'
depends_on:
- postgres
- redis
celery_worker:
image: 'websource'
env_file: '.env'
command: 'python -m celery -A cuidum worker -l debug'
volumes_from:
- web
depends_on:
- web
celery_beat:
container_name: 'celery_beat'
image: 'websource'
env_file: '.env'
command: 'python -m celery -A cuidum beat --pidfile= -l debug'
volumes_from:
- web
depends_on:
- web
postgres:
container_name: 'postgres'
image: 'mdillon/postgis'
ports:
- '127.0.0.1:5432:5432'
volumes:
- 'pgdata:/var/lib/postgresql/data/'
redis:
container_name: 'redis'
image: 'redis:3.2.0'
ports:
- '127.0.0.1:6379:6379'
volumes:
- 'redisdata:/data'
volumes:
pgdata:
redisdata:
cachedata:
mediadata:
staticdata:
letsencrypt_certs:
letsencrypt_www: