Полагаю, это нормально, что в отличие от docker-compose up
, docker run swyne-latest
не позволяет вам получить доступ к веб-приложению на 127.0.0.1:8000
.
, поскольку файл docker-compose.yml
(который читается docker-compose
но не самим docker
) указывает множество параметров, в частности, отображение портов, которые в противном случае должны передаваться как параметры CLI docker run
.
Не могли бы вы попробовать вместо этого запустить docker run -p 8000:8000
?
Кроме того, я предполагаю, что строка command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
, вероятно, должна помещаться внутри самого Dockerfile
с директивой CMD
или ENTRYPOINT
, не в docker-compose.yml
файл.
На самом деле, я только что посмотрел на вывод вашей команды docker build
, и возникла ортогональная проблема:
команда
CMD ["python", "manage.py", "runserver", "127.0.0.1:8000"]
следует заменить на
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
(см. этот SO ответ для получения дополнительной информации по этой проблеме, хотя и на другом языке, Java вместо Python.)
КакКроме того, полная команда для компиляции Dockerfile
не docker build -t swyne-latest
, а docker build -t swyne-latest .
(с конечной точкой, соответствующейпапка контекста сборки Docker).