как сохранить изменения в докере - PullRequest
0 голосов
/ 09 апреля 2019

У меня сейчас есть это изображение, которое я вытягиваю вот так

docker-compose up -d

Затем я запускаю кучу скриптов django, чтобы сделать изображение актуальным, а именно python manage.py migrate, а затемpython manage.py createsu и, наконец, python manage.py runserver.

Однако каждый раз, когда я выключаю изображение, выполняя docker-compose down, все изменения не применяются.

Что я могу сделать, чтобы сохранить все изменения и запустить тот же образ с примененными изменениями в следующий раз?

Ответы [ 3 ]

2 голосов
/ 09 апреля 2019

Давайте посмотрим на мой файл docker-compose (django):

version: "3"
services:
  education:
    image: mysql/mysql-server:5.7
    ports:
      - 3308:3306
    environment:
      - MYSQL_USER=cuong
      - MYSQL_PASSWORD=cuong
      - MYSQL_DATABASE=education
    volumes:
      - .:/education/db
  esmweb:
    links:
      - education
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./:/education/
    image: django
    stdin_open: true
    tty: true
    ports:
      - 8080:8080

и посмотрите на объемы. Это как кеш. когда ваш код изменится, он изменится напрямую. и когда вы хотите удалить данные контейнера, вы можете сделать: docker-compose down Надеюсь, это поможет вам. Вы можете прочитать документы, чтобы узнать "тома": тома

1 голос
/ 10 апреля 2019

После некоторого разговора я нашел способ, который мне кажется лучшим для меня.

docker stop $(docker ps -a -q)

И чтобы снова активировать изображение, просто сделайте

docker-compose up -d

Все ваши изменениясделано в базе данных будет здесь.

1 голос
/ 09 апреля 2019

Я предполагаю, что вы используете базу данных mysql (или другую) в контейнере, а не на внешнем томе - если это так, вам не нужно этого делать.

Вам нужно будет либо использовать базу данных, которая не работает в вашем контейнере, то есть на отдельном сервере, либо создать том, внешний по отношению к образу докера, и по-прежнему запускать программное обеспечение базы данных в образе, но с использованием внешнего тома. хранить данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...