【问题标题】:Docker within Docker Container [duplicate]Docker 容器中的 Docker [重复]
【发布时间】:2020-04-20 21:13:53
【问题描述】:

我通过以下方式进入 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 守护程序很困难,通常被认为是不必要的。如果您必须直接运行docker 命令,请使用主机的 Docker 套接字,但请注意,这样做意味着对主机的根级别访问不受限制。

标签: docker


【解决方案1】:

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

所以通过docker run --cap-add CAP_NET_ADMIN -it ubuntu bash启动容器。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多