我正在 Mac 上运行 Docker 的介绍教程,但出现如下错误:
docker run -d -p 80:80 --name docker-tutorial docker101tutorial
Run Code Online (Sandbox Code Playgroud)
泊坞窗:来自守护进程的错误响应:冲突。容器名称“/docker-tutorial”已经被容器“c5a91ef51a529a00dcbef180560dc2b392f3d9ab05b8c29fa1bf640d64271de7”使用。您必须删除(或重命名)该容器才能重用该名称。请参阅“docker run --help”。
你能就这个错误提出建议——我似乎需要删除一个先前的容器?但我不相信我创造了一个。
任何人都可以就如何解决这个问题提出建议,因为我对终端不是很精通,而且是 Docker 的新手。
当我输入时docker ps -a,我得到:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f5ed32612a0a ubuntu "bash" 27 minutes ago Exited (129) 22 minutes ago happy_tesla
b179c651b8d7 hello-world "/hello" 40 minutes ago Exited (0) 40 minutes ago mystifying_rubin
c5a91ef51a52 docker101tutorial "/docker-entrypoint.…" 42 minutes ago Created docker-tutorial
916e57976203 hello-world "/hello" 48 minutes ago Exited (0) 48 minutes ago exciting_dewdney
Run Code Online (Sandbox Code Playgroud)
简而言之,发生这种情况的原因是,当您命名容器(使用标志--name foo)时,您必须确保该名称在主机上的所有容器中是唯一的。
然后关于你的发言:
\n\n\n您能否就这个错误提出建议 - 似乎我需要删除以前的容器?但我不相信我创造了一个
\n
如果我读了你的docker ps -a输出,这是不真实的,你在 42 分钟前创建了一个,看到下面一行的最后一位吗?这是现有容器的名称docker-tutorial:
c5a91ef51a52 docker101tutorial "/docker-entrypoint.\xe2\x80\xa6" 42 minutes ago Created docker-tutorial\nRun Code Online (Sandbox Code Playgroud)\n赶紧跑:
\ndocker rm docker-tutorial\nRun Code Online (Sandbox Code Playgroud)\n然后您应该可以返回教程。
\n为了完整起见,由于第一次使用时可能会出现意外,该命令docker rm将输出刚刚删除的容器的名称:
$ docker rm I-do-exist \nI-do-exist\nRun Code Online (Sandbox Code Playgroud)\n如果你没有这样的命名容器,那么它会输出一个明确的错误:
\n$ docker rm I-do-not-exist\nError: No such container: I-do-not-exist\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
1940 次 |
| 最近记录: |