gpt4 book ai didi

docker - 交互模式将被忽略,因为没有它的容器将运行

转载 作者:行者123 更新时间:2023-12-02 19:21:57 24 4
gpt4 key购买 nike

我试图了解docker container start的工作方式,并使用以下Dockerfile:

FROM ubuntu:18.04

WORKDIR /root

RUN apt-get update && apt-get install -y \
curl \
gnupg2 \
git

CMD ["/bin/bash"]

现在我将图像构建为
docker image build -t tst .

并如下运行容器:
docker container run -d tst

我在没有交互模式的情况下运行它,因此命令执行完成后就退出了。现在,我尝试以交互方式启动此容器:
docker container start -i 57806f93e42c

但是它会立即退出,因为它将以非交互方式运行:
STATUS                                                                                                   
Exited (0) 9 seconds ago

有没有办法为已经创建的容器覆盖“交互性”?

最佳答案

这是因为您的容器在不使用allocating pseudo-TTY的情况下以分离模式运行,因为bash是容器的主要进程,因此它将立即退出。

That means, when run in background (-d), the shell exits immediately.



Docker container will automatically stop after "docker run -d"

您只需要分配伪tty
docker container run -dit tst

和下一个命令
docker container start -i 57806f93e42c

您只是尝试启动已停止的容器,但再次它将立即退出,它不会创建新容器,而是尝试启动已停止的容器。
docker container stop

Start one or more stopped containers



container_start

关于docker - 交互模式将被忽略,因为没有它的容器将运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58990196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com