Django docker-compose после перезагрузки требует повторной миграции - PullRequest
0 голосов
/ 30 мая 2018

Я сделал этот файл модуля.

[Unit]
Description=myservice
Requires=docker.service
After=docker.service

[Service]
Restart=always

# Remove old containers, images and volumes
ExecStartPre=/usr/local/bin/docker-compose -f my.yml down -v
ExecStartPre=/usr/local/bin/docker-compose -f my.yml rm -v
ExecStartPre=-/bin/bash -c 'docker volume rm $(docker volume ls -q)'
ExecStartPre=-/bin/bash -c 'docker rmi $(docker images | grep "<none>" | awk \'{print $3}\')'
ExecStartPre=-/bin/bash -c 'docker rm -v $(docker ps -aq)'

# Compose up
ExecStart=/usr/local/bin/docker-compose -f my.yml up

# Compose down, remove containers and volumes
ExecStop=/usr/local/bin/docker-compose -f my.yml down -v

[Install]
WantedBy=multi-user.target

Перед запуском этого файла я создаю миграцию следующим образом:

docker-compose -f my.yml run --rm django python manage.py migrate

Но после перезагрузки ОС мне нужно перезагрузитьмиграция, потому что они не обнаружены.Что может быть не так?

1 Ответ

0 голосов
/ 30 мая 2018

После экспериментов я сделал вот такой файл модуля, который работает как надо.

[Unit]
Description=myservice
Requires=docker.service
After=docker.service

[Service]
Restart=always

# Compose down
ExecStartPre=/usr/local/bin/docker-compose -f my.yml down

# Compose up
ExecStart=/usr/local/bin/docker-compose -f my.yml up

# Compose down
ExecStop=/usr/local/bin/docker-compose -f my.yml down

[Install]
WantedBy=multi-user.target
...