docker命令未运行

docker命令未运行,docker,nginx,Docker,Nginx,我是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

我是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

它们都不工作,只是卡在终端上。

您介意尝试下面的命令重新启动nginx吗

$ docker run -d -p 80:80 nginx:latest
顺便说一句,所有以“docker容器”开头的命令似乎都是来自docker的新命令

但是根据,

“docker容器运行”的功能应与“docker运行”相同

不知道为什么这两个命令之间存在差异

在我的例子中,我很少使用以“docker容器”开头的命令来执行我的容器

如果容器成功启动,shell将返回如下消息:

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...
这应该行得通

docker container run --publish 3000:80 nginx:latest
由于我阅读了上面的对话,您似乎收到了一个长字符串,表示docker正在运行,只需点击url
localhost:3000
您就会看到nginx正在运行

如果计算机上安装了apache,php通常使用
端口:80

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

实际上,现在它给我一个字符串C5AD07C99829B35989422FF6F48DBDEA716C54908528D5ED087D327E72693您介意让我使用它吗我知道在你的机器上执行“docker ps-a”的结果吗?docker容器运行--publish 3000:3000 nginx:latest--I对命令进行了treid处理,看起来它工作了,但当我进入浏览器并键入localhost:3000时,它就不起作用了……即使是你编写的代码也能在这种意义上起作用,但当我进入浏览器并键入localhost:8080时,它什么也没有显示。当我的主机上绑定到我要发布的端口时,出现了这个错误:P