Docker 容器没有给我一个 shell

Sla*_*zer 3 linux bash containers docker dockerfile

我正在尝试使用此命令在Docker Hub上的 Docker 容器moul/phoronix-test-suite 中获取一个 shell

docker run -t -i moul/phoronix-test-suite /bin/bash
Run Code Online (Sandbox Code Playgroud)

但是在执行命令(二进制文件)之后,容器停止并且我没有进入它。

[slazer@localhost ~]$ docker ps -a
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS                     PORTS               NAMES
0993189463e6        moul/phoronix-test-suite   "phoronix-test-suite "   7 seconds ago       Exited (0) 3 seconds ago                       kickass_shockley
Run Code Online (Sandbox Code Playgroud)

它是一个ubuntu:trusty容器。如何将 shell 放入其中,以便我可以向命令 phoronix-test-suite 发送参数?

Von*_*onC 5

docker run -t -i moul/phoronix-test-suite /bin/bash不会给你一个bash(违背docker run -it fedora bash

根据其Dockerfile,它将执行

phoronix-test-suite /bin/bash
Run Code Online (Sandbox Code Playgroud)

意思是,它将/bin/bash作为参数传递给phoronix-test-suite,它将立即退出。这让您没有时间执行 adocker exec -it <container> bash以便在活动容器会话中打开 bash。