docker - 在 docker 镜像中运行 ubuntu 16.04 bash shell

标签 docker

我有这个 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/

相关文章:

python - 写入dockerized MongoDB时出错

docker - 什么是好的 docker webdev 工作流程?

docker - Visual Studio Docker工具-镜像在何处以及容器在何处运行

docker - 是否可以在 Windows 上从 Ubuntu ISO 离线创建 docker 镜像?

docker 组成 : create two containers from one image

docker - 无法删除或停止容器

php - "symfony serve"使用 php 7.2 崩溃(docker/alpine)

docker - 如何在 Docker 中将 VOLUME 更改为 COPY?

networking - 开发机器作为 Minikube 网络的一部分?

docker - docker与glusterfs共享卷