设置enketo express后,当我使用命令" docker-compose up -d "运行enketo-express时在ubuntu服务器上,它显示与nginx相关的以下错误
错误:对于docker_nginx_1无法启动服务nginx:b'驱动程序无法编程端点上的外部连接docker_nginx_1(7c414e255d50f42a0fa14d07c0b0d29125f666d77e55e5eb4437e43e3e4d9454):启动userland代理时出错:listen tcp 0.0.0.0:80:bind:地址已在使用'
错误:对于nginx无法启动服务nginx:b'驱动程序无法编程端点上的外部连接docker_nginx_1(7c414e255d50f42a0fa14d07c0b0d29125f666d77e55e5eb4437e43e3e4d9454):启动userland代理时出错:listen tcp 0.0.0.0:80:bind:已在使用的地址'
答案 0 :(得分:1)
默认情况下,ubuntu服务器上的apache服务使用80端口。这意味着您需要更改端口。 尝试使用容器的端口80绑定ubuntu的端口8081。为此使用此命令,
$ run docker run -d -p 8081:80 --name webserver nginx
这会创建您在http://localhost:8081/
访问它所需的链接注意 - 在" setup / docker / docker-compose.yml"中更改端口文件。例如:80:80到8081:80
答案 1 :(得分:0)
因为某些东西已经在主机上的端口80上运行了。
查看它是哪个进程,获取PID -
$ lsof -i:80
$ netstat -tulnap | grep :80
杀死这个过程 -
$ kill -9 $PID
立即尝试&你会很好 -
$ docker-compose up -d