我正在使用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
。
我最终得到了两个容器,一个是在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)
发布于 2019-05-24 20:48:34
如果您查看docker ps -a
的输出,它会显示您的容器已退出,状态代码为0
,因此它没有运行,您无法进入它。
您正在启动分离的容器,但没有附加终端,因此容器在启动后立即停止。您需要将选项tty: true
和stdin_open: true
添加到合成文件中
https://stackoverflow.com/questions/56292166
复制相似问题