我正在使用docker-compose来创建一个新映像和一个容器,但是运行docker-compose up -d
之后,我无法使用docker-compose exec -it container_name (name specified in docker-compose)
进入容器。
有效的是,如果我可以登录到新容器:docker-compose运行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)
答案 0 :(得分:3)
如果您查看docker ps -a
的输出,则表明您的容器已退出,并显示状态代码0
,因此该容器未运行且无法进入容器。
您将以分离的状态启动容器,但未连接终端,因此容器在启动之后立即停止。您需要将选项tty: true
和stdin_open: true
添加到撰写文件中