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...
同样的错误:(,我尝试了不同的端口 –
其实现在它给了我一个字符串c5ad07c99829b35989422ff6f48dbdea716c54908528d5ed08287d327e72693a –
,你会介意让我知道你的机器上执行的“泊坞窗PS -A”的结果 –