繁体   English   中英

使用挂载卷创建后Docker容器未运行

[英]Docker container not running after creating with mounted volume

我正在尝试使用从docker数据库中提取的图像。 但是,我需要来自主机的数据才能使用某些加载到映像中的程序。 我用这个创建了一个容器

sudo docker run --name="mdrap" -v "/home/ubuntu/profile/reads/SE:/usr/local/src/volume" sigenae/drap

看来一切正常,然后我启动容器

sudo docker start mdrap

但是当我检查正在运行的容器时,该容器未在此处列出,如果我尝试将容器加载到/ bin / bash中,它会告诉我该容器未在运行。 我是Docker的初学者,并且仅尝试使用映像来运行具有所有必需依赖项的程序,我在做什么错呢?

docker start仅用于启动已停止的容器。 docker run后没有必要。 (但在docker **create** ,更多信息,如文档中所示

只要容器的主进程正在运行,它就会启动。
一旦主过程停止,容器就会停止。

容器的主要过程可以是:

  • ENTRYPOINT如果已定义)
  • 如果没有ENTRYPOINT和没有命令行参数, ENTRYPOINT CMD
  • 命令行参数

在您的情况下,由于您没有任何命令行参数(在docker run命令上的映像名称之后)并且该映像仅定义了CMD (= /bin/bash ),因此您的容器正在尝试启动/bin/bash
但是 ,由于您没有使用--interactive/-i--tty/-t启动容器(同样类似于文档的内容 ),因此您的过程就没有什么可与之交互和停止的(此容器每次启动时--tty/-t ) )。

因此,您的解决方案只是遵循文档

docker create --name drap --privileged -v /home/ubuntu/profile/reads/SE:/usr/local/src/volume -i -t sigenae/drap /bin/bash
docker start drap
docker exec -i -t drap /bin/bash

甚至更简单:

docker run --name drap --privileged -v /home/ubuntu/profile/reads/SE:/usr/local/src/volume -i -t sigenae/drap /bin/bash

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM