docker-compose не может попасть в новый контейнер - PullRequest
0 голосов
/ 24 мая 2019

Я использую docker-compose для создания нового изображения и контейнера, но после запуска docker-compose up -d я не могу попасть в контейнер с этим: docker-compose exec -it container_name (name specified in docker-compose).

Что такоеработа заключается в том, что я могу войти в новый контейнер, если я это сделаю: docker-compose run netcore, который является моим именем службы (см. ниже мой docker-compose.yml и Dockerfile, если необходимо), и я могу увидеть объем общего ресурсаи так для.

Я пробовал это в контейнере (тот, который определен с "container_name": docker run -it --rm container_name, я не могу войти в систему.

Конечно, контейнер выглядит как работающийкогда я делаю: docker ps -as.

В итоге я получаю 2 контейнера, один из которых создается во время docker-compose up -d, в которые я не могу попасть, и тот, который создается при запуске службы под названием «netcore».

Должно быть легко, но я не могу обойти это.

Может кто-нибудь посоветовать, что мне не хватает? Спасибо.

docker-compose.yml
version: '3'
services:
  netcore:
    container_name: test_alerting_comp
    image: alerting_netcore
    build:
      context: .
    volumes:
      - "c:/FakePath/git/my_project/src:/app"
    networks:
      - net
networks:
  net:

Dockerfile
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
WORKDIR /app
docker-compose up -d
Creating network "src_net" with the default driver
Creating test_alerting_comp ... done
docker exec -it test_alerting_comp /bin/bash
Error response from daemon: Container ae23ff9075bc200a78fe8e7a21d65476b4ccf19c2b239263e54c7dd278ce37ea is not running
docker ps -as
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                         PORTS               NAMES                SIZE
ae23ff9075bc        alerting_netcore    "bash"              44 seconds ago      Exited (0) 42 seconds ago                          test_alerting_comp   0B (virtual 1.74GB)

1 Ответ

3 голосов
/ 24 мая 2019

Если вы посмотрите на вывод docker ps -a, он говорит, что ваш контейнер завершен с кодом состояния 0, поэтому он не запущен и вы не можете войти в него.

Вы запускаете контейнер отдельно, но без подключенного терминала, поэтому контейнер останавливается сразу после запуска. Вам нужно добавить опции tty: true и stdin_open: true в ваш файл композиции

...