linux - Docker 上的 nginx: [emerg] socket() 0.0.0.0:80 失败(13:权限被拒绝)

标签 linux docker nginx docker-compose

总结:它可以在我的 Windows 中运行,但不能在我的 Linux Deepin 中运行(我正在遇见这个世界)。

安装 docker CE 和 docker compose 后,我无法运行任何 Web 服务器、apache 和 nginx。在本例中,我使用 nginx,但没有成功。

$ docker-compose up
Starting php_php_1   ... done
Starting php_nginx_1 ... done
Attaching to php_nginx_1, php_php_1
nginx_1  | 2019/04/19 19:09:56 [emerg] 1#1: socket() 0.0.0.0:80 failed (13: Permission denied)
nginx_1  | nginx: [emerg] socket() 0.0.0.0:80 failed (13: Permission denied)
php_1    | [19-Apr-2019 19:09:57] ERROR: failed to create new listening socket: socket(): Permission denied (13)
php_1    | [19-Apr-2019 19:09:57] ERROR: failed to create new listening socket: socket(): Permission denied (13)
php_1    | [19-Apr-2019 19:09:57] ERROR: FPM initialization failed
php_1    | [19-Apr-2019 19:09:57] ERROR: FPM initialization failed
php_nginx_1 exited with code 1
php_php_1 exited with code 78

注意:当我安装时,我之前已经在下面运行过它并且我注销了

$ sudo groupadd docker
$ sudo usermod -aG docker $USER
$ sudo chmod +x /lib/systemd/system/docker.socket

即使我的端口 :80 中没有任何内容。

netstat --listen | grep :80

我关注了这个主题33650820但没有成功

最佳答案

几小时后,我...只能在 Linux Deepin 上禁用 AppArmor。

$ sudo mkdir -p /etc/default/grub.d
$ echo 'GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT apparmor=0"' 
| sudo tee /etc/default/grub.d/apparmor.cfg
$ sudo update-grub
$ sudo reboot

关于linux - Docker 上的 nginx: [emerg] socket() 0.0.0.0:80 失败(13:权限被拒绝),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55767067/

相关文章:

node.js - 如何从 Angular Nginx 容器连接到 Node API docker 容器

php - 使用 php shell 访问打印 Linux 变量

linux - 如何将字符串数组作为参数传递给函数?

regex - 从行 block 中有选择地提取行

docker - 如何在windows server 2016中成功拉取windows nano server docker镜像?

maven - Dockerfile Maven 插件不起作用

docker - 如何在 dockerfile 中向上导航一个文件夹

javascript - Nginx 更新文件(如果修改)

linux - 登录到 sqlplus 为什么它总是打印用户名?

logging - Kibana 拆分 URL