Reputation: 1996
I am new to docker and trying to run the following codes and getting the error below.
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
I tried different codes with port but all of them get stuck and don't do anything.
Nihits-MacBook-Pro:~ nihit$ docker container run --publish 3000:80 nginx
Nihits-MacBook-Pro:~ nihit$ docker container run --publish 8080:80 nginx
None of them work and just are stuck on the terminal.
Upvotes: 2
Views: 946
Reputation: 1472
This should work
docker container run --publish 3000:80 nginx:latest
Since I read the above conversation, it looks like you recieved a long string of number meaning that docker is running, just hit the url localhost:3000
you will see nginx running.
Normally port:80
is used by php if you have apache installed on your computer.
If it gets stuck it also means that the docker is running but not in the background.
Normally the --detach
or -d
means that the docker will provide you the long string of numbers which tells docker to run the app in the background so you won't see anything happening in the terminal.
Upvotes: 3
Reputation: 133
Would you mind to try the below command to start the nginx again?
$ docker run -d -p 80:80 nginx:latest
BTW, all commands which start with "docker container" seems the new commands from docker.
But, according to the https://docs.docker.com/edge/engine/reference/commandline/docker/,
the function of "docker container run" should be same as "docker run".
Not sure why difference between those two commands.
In my cases, I'm seldom to use the commands which start with "docker container" to execute my container.
If the container successfully started, the shell will return the message such as follows:
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...
Upvotes: 3