Docker仅在端口8080中侦听

时间:2018-02-19 12:22:03

标签: linux ubuntu docker virtualization

我尝试了端口8080:

docker run -d --name=myweb1 -p 8080:80 -v /var/www/vhosts/domain/httpdocs/myweb:/var/www/html nginx:1.11-alpine

但是当我改为8081时(例如):

docker run -d --name=myweb2 -p 8081:80 -v /var/www/vhosts/domain/httpdocs/myweb:/var/www/html nginx:1.11-alpine

它不起作用。我试过只装一个或多个容器,但无论如何它都不起作用。

我在Ubuntu 14.04上安装了Docker。

UPDATE 首先,我尝试创建2个容器:1个nginx和1个apache:

docker run -d --name=myweb8080 -p 8080:80 -v /var/www/vhosts/domain/httpdocs/miweb:/var/www/html nginx:1.11-alpine
docker run -d --name=myweb8081 -p 8081:80 -v /var/www/vhosts/domain/httpdocs/miweb:/var/www/html php:apache

第一个(端口8080中的nginx)工作正常。第二个(端口8081中的apache)不起作用,错误是ERR_CONNECTION_TIMED_OUT。

然后我停止nginx(端口8080)并在端口8080中运行另一个apache容器:

docker run -d --name=myweb8080b -p 8080:80 -v /var/www/vhosts/domain/httpdocs/miweb:/var/www/html php:apache

这个也可以。

我正在环顾tcp和tcp6,但我检查了容器,尽管tcp6带有'netstat',但所有容器都有tcp。另外我发现docker tcp6也暗示了tcp。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

可能是应用程序使用此端口。请看下面的命令:

netstat -an | grep :8081

如果你有结果,那就是你有一个使用这个端口的应用程序。