docker - 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)
任何想法如何解决这一问题?
解决方案
您应该使用 CAP_NET_ADMIN 功能运行 docker 容器,以便容器有权执行各种与网络相关的操作。
所以通过docker run --cap-add CAP_NET_ADMIN -it ubuntu bash
.
推荐阅读
- google-app-engine - 使用 PyCharm 运行 AppEngine 时的库冲突
- google-cloud-platform - 尝试从备份播种 Neo4j 集群
- flutter - Flutter:如何修复 FutureBuilder 中由 setState 引起的错误
- sql - 我需要编写一个 .sql 查询来显示过去两年中每月汇总的数据
- python-3.x - 使用 Flask-login 和 PyMongo 创建用户类并从 MongoDB 检索数据
- php - 如何阻止我的 PHP 错误日志文件无限增长?
- javascript - 从多维数组中提取对象
- xml - 如何在自定义 XML 功能区中水平集中控件
- mysql - Mysql LEFT JOIN 与 WHERE 条件的同一张表
- ios - 如何在数组上添加一个对象而不用firestore删除其余对象?