我试图停下来并移除一个码头工人 - 容器。
我从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
答案 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
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/ - 在本地浏览器上运行