Nano Hash - криптовалюты, майнинг, программирование

Как открыть оболочку во время/после запуска контейнера Docker без переопределения существующего CMD?

Итак, последняя строка в моем Dockerfile:

CMD Django-admin startproject testproject

Я новичок в Docker, и я только что узнал, что могу использовать строку CMD только один раз в Dockerfile и что запуск /bin/shell в следующем примере переопределяет CMD:

docker run -it <containerid> /bin/bash

Мой вопрос: как мне открыть оболочку, не переопределяя CMD запуска проекта Django-admin? Я просмотрел подключение к докеру, но это, похоже, не открывает оболочку. Я чувствую, что мне не хватает чего-то очевидного здесь. Я просто хочу запустить свой контейнер, зайти в оболочку и убедиться, что мой проект Django действительно создается.

06.11.2016

Ответы:


1

Вы можете просто запустить контейнер без перезаписи команды в фоновом режиме:

docker run -d --name container_name <image_name>

И затем вы можете подключиться к работающему контейнеру с новой сессией:

docker exec -it container_name bash
06.11.2016
  • У меня возникла проблема: если я запускаю команду «docker run», которую вы опубликовали, docker ps не показывает запущенных контейнеров. Однако, если я запускаю докер с /bin/bash, тогда docker ps показывает работающий контейнер. Итак, проблема в том, что я не могу подключиться к контейнеру, потому что он не работает (с вашим решением) 07.11.2016
  • @david, тогда вам нужно проверить CMD и docker logs, он не работает, потому что CMD завершен (завершение программы или ошибки, поэтому не удалось запустить и т. д.) 07.11.2016
  • Я полностью удалил CMD из Dockerfile, поэтому проблема больше не связана с CMD. Если я запускаю команду запуска докера, опубликованную Славомиром, контейнеры не работают. Если я запускаю докер с параметром -it, контейнер работает и ошибок нет. 07.11.2016
  • Я сделаю новый пост по этому вопросу. 07.11.2016
  • stackoverflow.com/questions/40457681/ 07.11.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..