Docker错误:没有这样的容器:friendlyhello

时间:2018-05-14 04:41:29

标签: docker

我试图停下来并移除一个码头工人 - 容器。

我从docker turorial part1开始,现在是第2部分:https://docs.docker.com/get-started/part2/#run-the-app

我从那里复制了源语。它也可以在这里找到:https://gist.github.com/sl5net/8b510bc0d3e00c474575e010003406c1

在这里你可以看到我的控制台的样子:

Microsoft Windows [Version 10.0.16299.431]
C:\fre\private\docker\test18-05-14_05-27>docker build -t friendlyhello .
Sending build context to Docker daemon   5.12kB
no matching manifest for windows/amd64 in the manifest list entries

BTW解决方案:我转到linux容器(在docker图标上右键单击> contextmenu)

C:\fre\private\docker\test18-05-14_05-27>docker build -t friendlyhello .
... Successfully built itsdangerous MarkupSafe
Successfully tagged friendlyhello:latest

C:\fre\private\docker\test18-05-14_05-27>docker run -p 4000:80 friendlyhello
 * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)

C:\fre\private\docker\test18-05-14_05-27>docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED    SIZE
friendlyhello       latest              7d4d1e0f78e6        8 minutes ago    151MB
python              2.7-slim            46ba956c5967        9 days ago    140MB

C:\fre\private\docker\test18-05-14_05-27>docker container stop friendlyhello
Error response from daemon: No such container: friendlyhello

C:\fre\private\docker\test18-05-14_05-27>docker rm -f friendlyhello
Error: No such container: friendlyhello

3 个答案:

答案 0 :(得分:5)

教程显示:

$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED
1fa4ab2cf395        friendlyhello       "python app.py"     28 seconds ago

您尚未在容器中添加名称(标记),因此您必须使用其ID来阻止它:

docker container stop 1fa4ab2cf395

friendlyhello图片的名称,而不是容器。

请参阅docker run --name为其命名。

如果您没有姓名,则会使用docker ps -a

作为ID

OP补充道:

  

使用docker stop 8e008ebf3ad7使用它停止列表:docker container ls buts保持在列表中使用:docker ps -a

docker stop 8e008ebf3ad7
8e008ebf3ad7
docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS
               NAMES
5227976cb9bb        friendlyhello       "python app.py"     About an hour ago   Up About an hour    0.0.0.0:4001->80/tcp   SOMENAME

docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS
     PORTS                  NAMES
5227976cb9bb        friendlyhello       "python app.py"     About an hour ago   Up About an hour
     0.0.0.0:4001->80/tcp   SOMENAME
8e008ebf3ad7 friendlyhello "python app.py" 6 hours ago Exited (137) About an hour ago 

这是预期的:停止会将容器放入"退出" state,当你想调试一个未经你同意而停止的容器时很方便!

然后,您可以执行docker container rm <ID>以便从docker ps -a列表中重新发送它。

请注意,如果您使用docker run --rm ...启动了容器,则停止会直接停止删除(删除)容器。

答案 1 :(得分:5)

没有名称为friendlyhello的容器,因为您只是使用docker run -p 4000:80 friendlyhello运行容器,此处friendlyhello是图片的名称,而不是容器&#39;的名字。

要么运行该容器,请给它一个如下名称: -

docker run -p 4000:80 --name SOMENAME friendlyhello

在这种情况下,您可以使用以下命令停止并删除该容器

# container stop
docker container stop SOMENAME

# container removal
docker rm -f SOMENAME

如果未在没有为容器命名的情况下运行,则必须使用容器的 ID < / em>在停止和删除的命令中,即使在各种其他命令中,您将使用ID来引用该文件

答案 2 :(得分:0)

docker pull solr => 拉取 docker 镜像 docker run -p 8983:8983 -t solr => 运行镜像并定义端口 http://localhost:8983/ - 在本地浏览器上运行