我正试图停下来并移除一个码头工人 - 容器.
我从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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
kak*_*ali 11
名称是没有可用friendlyhello的容器docker run -p 4000:80 friendlyhello,因为您只是使用运行容器,这friendlyhello是映像的名称,而不是容器的名称。
要么给它象下面这样的名字运行容器: -
docker run -p 4000:80 --name SOMENAME friendlyhello
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您可以使用以下命令停止并删除该容器
# container stop
docker container stop SOMENAME
# container removal
docker rm -f SOMENAME
Run Code Online (Sandbox Code Playgroud)
或者,如果没有在未给容器命名的情况下运行,则必须在命令中使用容器的ID来停止和删除,即使在其他各种命令中,您也将使用ID来引用该容器
教程显示:
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED
1fa4ab2cf395 friendlyhello "python app.py" 28 seconds ago
Run Code Online (Sandbox Code Playgroud)
您尚未向容器添加名称(标记),因此必须使用其ID来阻止它:
docker container stop 1fa4ab2cf395
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
这是预期的:停止会使容器处于"退出"状态,当您想要调试未经您同意而停止的容器时这很方便!
然后,您可以执行操作以docker container rm <ID>从docker ps -a列表中重新进行操作.
请注意,如果您已启动容器docker run --rm ...,则停止将停止并直接删除(删除)容器.
| 归档时间: |
|
| 查看次数: |
29754 次 |
| 最近记录: |