繁体   English   中英

通过镜像 ID 启动容器

[英]Start container by image ID

根据 Docker 手册,启动容器的命令是docker start [container_name] 但是,以下命令中未提及该名称。

$ docker images
REPOSITORY            TAG                        IMAGE ID       CREATED         SIZE
nvcr.io/nvidia/cuda   11.6.0-devel-ubuntu20.04   44b919ab35af   3 weeks ago     5.09GB
nvcr.io/nvidia/cuda   latest                     539690cdfcd6   15 months ago   4.77GB
$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

如何从标签或图像 ID 开始?

更新:

有一个 Dockerfile 其中包含

FROM nvcr.io/nvidia/cuda:11.6.0-devel-ubuntu20.04
RUN apt-get update
WORKDIR /opt
RUN apt-get update
RUN apt-get update && apt-get install -y --no-install-recommends \
    ca-certificates \
    build-essential \
    git \
    python \
    python-pip

当我运行docker build. ,我看到了拉取图像和 apt 命令的步骤。 但它因找不到 python-pip 的错误而终止。

...
Building dependency tree...
Reading state information...
Package python-pip is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  python3-pip

E: Package 'python-pip' has no installation candidate
The command '/bin/sh -c apt-get update && apt-get install -y --no-install-recommends     ca-certificates     build-essential     git     python     python-pip' returned a non-zero code: 100

错误本身不是问题。 我想ssh到容器里看看/opt里面的文件夹,但是docker ps显示,没有容器。

$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

Docker 镜像和容器是不同的东西。 您首先需要从图像创建容器。

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

停止的容器不会显示在 docker ps中,除非您指定-a标志:

docker ps -a

然后就可以启动创建好的容器了

docker start CONTAINER

如果需要,您可以使用run一步执行创建和启动:

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

更新:

docker 构建命令用于创建图像而不是容器。 创建映像后,您需要运行它来创建容器。

看起来您的图像构建不正确。 尝试用python3python3-pip替换pythonpython-pip pip 并重建。

我还建议标记图像以便以后更容易找到它:

docker build -t my-image:latest .

正确创建图像后,找到它(或者如果您标记了它,则只使用标签)并运行它。

如果您标记了图像并且您只想在容器内使用 shell 然后运行它

docker run -it my-image:latest /bin/bash

-it选项使 shell 可交互, my-image:latest是您要从中创建容器的图像,最后/bin/bash是您将在新创建的容器中执行的命令(在这种情况下,它将为您提供一个壳)。

暂无
暂无

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

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