如何使用--cap-add=[NAME_IN_UPPERCASE]
?
我试图用以下命令运行一个docker容器:
docker run -d
-p:8991:8999
--name myname
--network quiznet
--link redis_redis_1:redis
-v /data:/data
--log-opt max-size=500m
–-cap-add=SYS_PTRACE
my_lowercase_image_name
我发现--cap-add=SYS_PTRACE
导致了错误:
docker:无效的引用格式:存储库名称必须小写。
但在官方文档运行时权限和Linux功能中,似乎可以在官方示例中使用--cap-add=SYS_PTRACE
,如下所示:
$ docker run -it --rm --cap-add=NET_ADMIN ubuntu:14.04 ip link add dummy0 type dummy
我的docker版本是:
Docker version 18.09.3, build 774a1f4
就这样运行:
docker run -d --cap-add=SYS_PTRACE -p 8991:8999 .....
注意在p
参数之后没有:
我运行了您发布的确切命令,问题似乎是–-cap-add
前面的–-
,它不是双减。相反,它是一个破折号后面跟着一个减号。
–
是U+2013:EN DASH
-
是U+002D:HYPHEN-MINUS{连字符或减号}
这是什么Unicode字符?
Docker没有将其识别为程序选项,并认为–-cap-add=SYS_PTRACE
是图像的名称,因此出现了错误。