2017-10-21 204 views
0

我是碼頭工人,嘗試運行以下代碼並獲取下面的錯誤。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 

他們沒有工作,只是被困在終端上。

回答

3

這應該工作

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

自從我看了上面的對話,它看起來像你收到了長碼串意味着泊塢窗正在運行,只需點擊網址localhost:3000,您將看到nginx正在運行。

通常情況下,如果您的計算機上安裝了apache,則使用port:80

如果卡住了,這也意味着碼頭工程正在運行,但不在後臺。 通常,--detach-d意味着碼頭工人將爲您提供一串長長的數字,告訴碼頭工人在後臺運行應用程序,這樣您就不會看到終端中發生的任何事情。

2

你介意嘗試下面的命令再次啓動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」的結果 –