我有这个 Dockerfile:
FROM ubuntu:16.04
我跑
docker build -t mine .
它构建。然后我跑
docker exec -it mine /bin/bash
它说
Error: No such container: mine
我确定我遗漏了一些简单的东西,但我用谷歌搜索了 docker 镜像名称,我运行了 docker images
并且它显示了“CONTAINER ID”“我的”(带有标签“最新”),我看过stackoverflow。这是非常基础的,很难找到答案。
我在 OS X 上运行 docker 19.03.2,build 6a30dfc。
编辑:如果我运行 docker run mine
,它会运行并立即退出(当然,因为 Dockerfile 就是这么说的)。然后是一个容器(未运行)。然后,如果我通过 id 执行该容器,它会显示“容器 ..hex.. 未运行”,这是有道理的。
我想我想要在 Ubuntu 16.04 中运行 bash shell 的最简单方法。
建议?
最佳答案
Docker exec
命令用于在正在运行 容器内执行命令。您只需使用 docker run -it mine/bin/bash
来运行
您的容器。
如果您的最终目标是在自身上运行 Ubuntu 的 bash,您可以跳过 build
阶段,只需执行 docker run -it ubuntu:16.04/bin/bash
。
注意 -i
和 -t
标志。第一个表示您的容器化程序(即 bash)可能会收到一些用户输入。因此,docker 将保持其标准输入打开。第二个标志是使用 Linux 伪终端 (PTY) 作为命令的控制终端(即 bash)。这些标志的组合允许您拥有正常交互式 shell 体验。
关于docker - 在 docker 镜像中运行 ubuntu 16.04 bash shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58000050/