docker中的装载权限被拒绝

docker中的装载权限被拒绝,docker,ubuntu,permissions,mount,Docker,Ubuntu,Permissions,Mount,根据官方指南,我在云服务器上安装docker时遇到了一些问题。我完成了旧版本的卸载、存储库设置和docker引擎安装sudo apt get install docker ce docker ce cli containerd.io。但是,我在运行hello world时出错 wyf@VM1103-Timi:~$ sudo docker run hello-world docker: Error response from daemon: OCI runtime create failed: c

根据官方指南,我在云服务器上安装docker时遇到了一些问题。我完成了旧版本的卸载、存储库设置和docker引擎安装sudo apt get install docker ce docker ce cli containerd.io。但是,我在运行hello world时出错

wyf@VM1103-Timi:~$ sudo docker run hello-world
docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"proc\\\" to rootfs \\\"/var/lib/docker/overlay2/e9fedf64e8983aa01e513cee591cdfd7fc60962466a476b51fc1ead682ec8022/merged\\\" at \\\"/proc\\\" caused \\\"permission denied\\\"\"": unknown.
ERRO[0000] error waiting for container: context canceled
我尝试重新启动docker和服务器,但问题仍然存在。 所以,如果有人能指导我修正这个错误,那就太好了。 如果你对这个问题有任何想法,请告诉我。 多谢各位

附言: 我的系统是Ubuntu 18.04。因此,我没有selinux。我检查了AppArmor日志,而不是selinux

May 19 21:14:55 VM1103-Timi networkd-dispatcher[155]: WARNING:Unknown index 37 seen, reloading interface list
May 19 21:14:55 VM1103-Timi systemd-networkd[126]: veth71cf495: Link UP
May 19 21:14:55 VM1103-Timi containerd[170]: time="2020-05-19T21:14:55.679793295+08:00" level=info msg="shim containerd-shim started" address="/containerd-shim/moby/4c207ce1273d2c863ee419c5ebb271163a031394bd4c17ee75d44267d631954d/shim.sock" debug=false pid=106265
May 19 21:14:55 VM1103-Timi containerd[170]: time="2020-05-19T21:14:55.767796543+08:00" level=info msg="shim reaped" id=4c207ce1273d2c863ee419c5ebb271163a031394bd4c17ee75d44267d631954d
May 19 21:14:55 VM1103-Timi dockerd[15100]: time="2020-05-19T21:14:55.776863367+08:00" level=error msg="stream copy error: reading from a closed fifo"
May 19 21:14:55 VM1103-Timi dockerd[15100]: time="2020-05-19T21:14:55.776953910+08:00" level=error msg="stream copy error: reading from a closed fifo"
May 19 21:14:55 VM1103-Timi systemd-networkd[126]: veth71cf495: Link DOWN
May 19 21:14:55 VM1103-Timi dockerd[15100]: time="2020-05-19T21:14:55.927805156+08:00" level=error msg="4c207ce1273d2c863ee419c5ebb271163a031394bd4c17ee75d44267d631954d cleanup: failed to delete container from containerd: no such container"
奇怪的是,没有权限被拒绝错误的记录

以下是我的ubuntu版本、内核版本和docker信息:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:        18.04
Codename:       bionic

解决方案可能是打开所需的端口。您的系统可能正在运行selinux和ufw或firewalld或iptables?和/或其他?。阅读一些linux防火墙工具,特别是在您的系统上运行的工具

对于selinux,您需要检查selinux日志,它是否阻止访问?使用selinux命令添加异常。 这些工具很值得学习,但可能很复杂。禁用selinux和firewalld的快速测试可以确认这是问题的根源,您可以稍后启用selinux和firewalld,并以安全的方式允许/打开端口

简单测试:禁用selinux和firewalld,例如在CentOS上

systemctl stop firewalld;
setenforcing 0; 
如果您可以创建禁用selinux的容器,那么您已经确认selinux是您的问题。您可以启用防火墙和selinux,然后根据需要添加异常并在以后打开端口

对于ubuntu来说,这看起来很好,但在IMHO中已经足够通用,它详细介绍了打开端口以允许docker swarm工作所需的ufw命令、firewalld命令和iptables命令

我最初从这里获得了有关打开所需端口的ufw命令的有用信息:

这是一个很常见的问题,通常selinux不允许访问所需的端口。 例如
解决方案可能是打开所需的端口。您的系统可能正在运行selinux和ufw或firewalld或iptables?和/或其他?。阅读一些linux防火墙工具,特别是在您的系统上运行的工具

对于selinux,您需要检查selinux日志,它是否阻止访问?使用selinux命令添加异常。 这些工具很值得学习,但可能很复杂。禁用selinux和firewalld的快速测试可以确认这是问题的根源,您可以稍后启用selinux和firewalld,并以安全的方式允许/打开端口

简单测试:禁用selinux和firewalld,例如在CentOS上

systemctl stop firewalld;
setenforcing 0; 
如果您可以创建禁用selinux的容器,那么您已经确认selinux是您的问题。您可以启用防火墙和selinux,然后根据需要添加异常并在以后打开端口

对于ubuntu来说,这看起来很好,但在IMHO中已经足够通用,它详细介绍了打开端口以允许docker swarm工作所需的ufw命令、firewalld命令和iptables命令

我最初从这里获得了有关打开所需端口的ufw命令的有用信息:

这是一个很常见的问题,通常selinux不允许访问所需的端口。 例如

我也遇到了类似的问题。Docker已重新安装/升级。来自守护程序的错误响应:remount/docker/overlay2/e7..91/merged/host/net,标志:0x44000:权限被拒绝错误:docker命令失败rc=1,t=600,cmd=-Hunix:///var/run/docker.sock 来自守护程序的cp错误响应:OCI运行时创建失败:container_linux.go:345:启动容器进程导致进程_linux.go:430:container init导致rootfs_linux.go:58:装载/proc/1/net到rootfs/docker/overlay2/e7..91/合并在/docker/overlay2/e7..91/合并的/host/net导致权限被拒绝:未知的``解决方案可能是打开所需的端口。要测试:禁用selinux和防火墙D,例如在CentOS systemctl上停止防火墙D;set0;若你们可以创建容器,你们可以启用防火墙和selinux,打开端口,并根据需要添加异常。我也有类似的问题。Docker已重新安装/升级。来自守护程序的错误响应:remount/docker/overlay2/e7..91/merged/host/net,标志:0x44000:权限被拒绝错误:docker命令失败rc=1,t=600,cmd=-Hunix:///var/run/docker.sock 来自守护程序的cp错误响应:OCI运行时创建失败:container_linux.go:345:启动容器进程导致进程_linux.go:430:container init导致rootfs_linux.go:58:装载/proc/1/net到rootfs/docker/overlay2/e7..91/合并在/docker/overlay2/e7..91/合并的/host/net导致权限被拒绝:未知的``解决方案可能是打开所需的端口。要测试:禁用selinux和防火墙D,例如在CentOS systemctl上停止防火墙D;set0;如果您可以创建容器,您可以启用防火墙和selinux,打开端口,并根据需要添加异常。感谢您的回复。我试着允许一些端口。ufw允许237
7/tcp ufw allow 7946/tcp ufw allow 7946/udp ufw allow 4789/udp,但问题仍然存在。顺便说一句,因为我的操作系统是ubuntu,所以我没有在上面找到selinux。这对ubuntu来说似乎很好,详细介绍了打开端口所需的ufw命令、firewalld命令和iptables命令,请参阅有额外的ufw allow 2376/tcp,然后ufw重新加载和systemctl重新启动docker,如建议的那样,我通过ufw打开了这些端口。就像。ufw重新加载和系统CTL重新启动docker。但问题依然存在。有什么有用的日志值得检查吗?嗯,我没有安装docker docker.io;和docker运行hello world;在ubuntu 19.10上,运行正常。docker信息显示swarm已为我禁用。如果运行docker info,您会看到Swarm:inactive还是Swarm:active?如果处于活动状态,docker节点ls显示什么?我想知道你的swarm初始化好吗?我看到上面你的docker信息显示swarm:inactive。所以不是这样。谢谢你的回复。我试着允许一些端口。ufw allow 2377/tcp ufw allow 7946/tcp ufw allow 7946/udp ufw allow 4789/udp,但问题仍然存在。顺便说一句,因为我的操作系统是ubuntu,所以我没有在上面找到selinux。这对ubuntu来说似乎很好,详细介绍了打开端口所需的ufw命令、firewalld命令和iptables命令,请参阅有额外的ufw allow 2376/tcp,然后ufw重新加载和systemctl重新启动docker,如建议的那样,我通过ufw打开了这些端口。就像。ufw重新加载和系统CTL重新启动docker。但问题依然存在。有什么有用的日志值得检查吗?嗯,我没有安装docker docker.io;和docker运行hello world;在ubuntu 19.10上,运行正常。docker信息显示swarm已为我禁用。如果运行docker info,您会看到Swarm:inactive还是Swarm:active?如果处于活动状态,docker节点ls显示什么?我想知道你的swarm初始化好吗?我看到上面你的docker信息显示swarm:inactive。所以不是这样。
root@VM1103-Timi:/etc/apparmor.d# aa-status
    apparmor module is loaded.
    12 profiles are loaded.
    12 profiles are in enforce mode.
       /sbin/dhclient
       /usr/bin/man
       /usr/lib/NetworkManager/nm-dhcp-client.action
       /usr/lib/NetworkManager/nm-dhcp-helper
       /usr/lib/connman/scripts/dhclient-script
       /usr/lib/lightdm/lightdm-guest-session
       /usr/lib/lightdm/lightdm-guest-session//chromium
       /usr/sbin/mysqld
       /usr/sbin/tcpdump
       docker-default
       man_filter
       man_groff
    0 profiles are in complain mode.
    1 processes have profiles defined.
    1 processes are in enforce mode.
       /usr/sbin/mysqld (258)
    0 processes are in complain mode.
    0 processes are unconfined but have a profile defined.
systemctl stop firewalld;
setenforcing 0; 
ufw allow 2376/tcp 
ufw allow 2377/tcp
ufw allow 7946/tcp
ufw allow 7946/udp
ufw allow 4789/udp
ufw enable #maybe
ufw reload
systemctl restart docker