首页 > 解决方案 > Docker 容器中的 Docker

问题描述

我通过以下方式进入 docker 容器: docker run -it ubuntu bash

当我在容器中时,我正在安装 Docker: curl -sSL https://get.docker.com/ | sh

然而,当我开火时,我dockerd得到:

INFO[2020-04-20T11:49:01.220025800Z] stopping event stream following graceful shutdown  error="context canceled" module=libcontainerd namespace=plugins.moby
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.6.1: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
 (exit status 3)

任何想法如何解决这一问题?

标签: docker

解决方案


您应该使用 CAP_NET_ADMIN 功能运行 docker 容器,以便容器有权执行各种与网络相关的操作。

所以通过docker run --cap-add CAP_NET_ADMIN -it ubuntu bash.

https://linux.die.net/man/7/capabilities


推荐阅读