docker - Docker-compose up 问题端口 443 (98: Address already in use) 错误记录在 nginx 日志中
问题描述
当我尝试升级我的泊坞窗时,我遇到了以下错误:
2019/09/27 07:53:33 [emerg] 18#0: bind() to 0.0.0.0:443 failed (98: Address already in use)
2019/09/27 07:53:33 [emerg] 18#0: bind() to 0.0.0.0:443 failed (98: Address already in use)
2019/09/27 07:53:33 [emerg] 18#0: bind() to 0.0.0.0:443 failed (98: Address already in use)
2019/09/27 07:53:33 [emerg] 18#0: bind() to 0.0.0.0:443 failed (98: Address already in use)
2019/09/27 07:53:33 [emerg] 18#0: bind() to 0.0.0.0:443 failed (98: Address already in use)
2019/09/27 07:53:33 [emerg] 18#0: still could not bind()
当我尝试访问将在 nginx 上运行的应用程序时,也会记录以下错误:
2019/09/27 07:55:54 [error] 11#0: *50 upstream timed out (110: Connection timed out) while connecting to upstream, client: 172.10.5.254, server: checkout.servername.docker, request: "GET / HTTP/1.1", upstream: "http://192.168.99.1:3000/", host: "checkout.servername.docker.uk"
以下是我的 docker-compose.yml 文件中的块:
varnish:
build: ./docker/varnish_nginx
links:
- apache
volumes:
- ./docker/varnish_nginx/varnish/default.vcl:/etc/varnish/default.vcl
- ./docker/varnish_nginx/varnish/magento_mobile_detect.vcl:/etc/varnish/magento_mobile_detect.vcl
- ./docker/varnish_nginx/varnish/varnish.params:/etc/varnish/varnish.params
- ./docker/varnish_nginx/varnish/start.sh:/start-varnish.sh
- ./logs/varnish/:/var/log/varnish
- ./docker/varnish_nginx/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./docker/varnish_nginx/nginx/ssl/levosoft_docker.csr:/etc/nginx/ssl/levosoft_docker.csr
- ./docker/varnish_nginx/nginx/ssl/levosoft_docker.key:/etc/nginx/ssl/levosoft_docker.key
- ./docker/varnish_nginx/nginx/ssl/levosoft_docker.pem:/etc/nginx/ssl/levosoft_docker.pem
- ./logs/nginx/:/var/log/nginx
- ./docker/varnish_nginx/nginx/start.sh:/start-nginx.sh
networks:
widgets:
ipv4_address: 172.10.1.8
ports:
- 80:80
- 443:443
- 6082:6082
解决方案
正如错误所暗示的,另一个进程已经在使用端口 443。
要验证并找到使用它的进程,请运行以下命令:
sudo netstat -tulpn | grep 443
输出:
$ sudo netstat -tulpn | grep 443
tcp6 0 0 :::443 :::* LISTEN 26951/docker-proxy
现在您已经确定了进程,您应该关闭它并重新启动失败的 nginx docker 容器。
推荐阅读
- android - 360 度全景图像在某些设备中不起作用
- javascript - Angular 根据多种情况有条件地显示消息
- swift - 我的按钮的 addTarget 中的操作不起作用
- c - 如何使用 OpenMP 将每个线程的输出返回到数组中?
- angular - ngx-file-drop 模块可点击选项?
- user-interface - 向 AndroidTV 的 Leanback RowsSupportFragment 添加自定义视图?
- assembly - 引导扇区与 qemu 一起工作正常,但在计算机上引导时不打印任何内容
- laravel - Laravel 5.7中3个表之间的关系
- javascript - Wordpress 加载更多按钮不起作用。$wp_query 不返回最后一个循环查询
- javascript - 预期的服务器 HTML 包含匹配项在服务器端渲染