docker命令没有运行

问题描述:

我是码头工人,尝试运行以下代码并获取下面的错误。docker命令没有运行

Nihits-MacBook-Pro:~ nihit$ docker container run --publish 80:80 nginx 

Unable to find image 'nginx:latest' locally 
latest: Pulling from library/nginx 
bc95e04b23c0: Pull complete 
110767c6efff: Pull complete 
f081e0c4df75: Pull complete 
Digest: sha256:004ac1d5e791e705f12a17c80d7bb1e8f7f01aa7dca7deee6e65a03465392072 
Status: Downloaded newer image for nginx:latest 
docker: Error response from daemon: driver failed programming external connectivity on endpoint gracious_pare (0a28a065694108085e2b7533870d9d84889899baf5d4130c58c49c4736bb6b12): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE). 
ERRO[0016] error waiting for container: context canceled 

我尝试了与端口不同的代码,但它们都卡住了,不做任何事情。

Nihits-MacBook-Pro:~ nihit$ docker container run --publish 3000:80 nginx 
Nihits-MacBook-Pro:~ nihit$ docker container run --publish 8080:80 nginx 

他们没有工作,只是被困在终端上。

这应该工作

docker container run --publish 3000:80 nginx:latest 

自从我看了上面的对话,它看起来像你收到了长码串意味着泊坞窗正在运行,只需点击网址localhost:3000,您将看到nginx正在运行。

通常情况下,如果您的计算机上安装了apache,则使用port:80

如果卡住了,这也意味着码头工程正在运行,但不在后台。 通常,--detach-d意味着码头工人将为您提供一串长长的数字,告诉码头工人在后台运行应用程序,这样您就不会看到终端中发生的任何事情。

你介意尝试下面的命令再次启动nginx吗?

$ docker run -d -p 80:80 nginx:latest 

BTW,这与“泊坞窗容器”开头的所有命令似乎从泊坞窗的新命令。

但是,根据https://docs.docker.com/edge/engine/reference/commandline/docker/

“搬运工容器运行”的功能应该是一样的“搬运工运行”。

不知道为什么这两个命令之间的区别。

在我的情况下,我很少使用以“docker container”开头的命令来执行我的容器。

如果容器成功启动,外壳将返回消息,如下所示:

sh-3.2# docker run -d -p 8080:80 nginx:latest 
b0a5aa7965119c5b2705392b5b9e9640a4ab8edefda6722ee86da507229cdf05 
sh-3.2# 
sh-3.2# docker ps -a 
CONTAINER ID IMAGE   COMMAND   CREATED 
b0a5aa796511 nginx:latest "nginx -g 'dae... About a minute ago... 
+0

同样的错误:(,我尝试了不同的端口 –

+0

其实现在它给了我一个字符串c5ad07c99829b35989422ff6f48dbdea716c54908528d5ed08287d327e72693a –

+0

,你会介意让我知道你的机器上执行的“泊坞窗PS -A”的结果 –