我正在使用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)
最佳答案
如果查看docker ps -a
的输出,则表明您的容器已退出,状态码为0
,因此该容器未在运行并且无法进入容器。
您正在启动分离的容器,但未连接终端,因此容器在刚启动后立即停止。您需要将tty: true
和stdin_open: true
选项添加到撰写文件中
关于docker - docker-compose无法进入新容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56292166/