0

无法使用 JSON 使用自定义 seccomp 配置文件启动 docker 容器。低于错误。

sudo docker run --name=alpin1effcon1t -it 453135d09376 --security-opt seccomp:chrome.json
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "--security-opt": executable file not found in $PATH: unknown.
ERRO[0000] error waiting for container: context canceled

我们已经在各种 Docker 平台上进行了尝试,例如 Docker Desktop-WSL、Docker Playground 和基于 Amazon Linux 的 EC2。同样的错误。

EC2 上的 Docker 信息

grep SECCOMP /boot/config-$(uname -r)
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y

Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.75-79.358.amzn2.x86_64
 Operating System: Amazon Linux 2
4

1 回答 1

1

正确的语法docker run是:

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

这意味着在图像名称/id 之后,您可以使用要在容器启动后执行的参数指定命令。换句话说,您覆盖CMDDockerfile.

在您的示例中,您告诉 docker--security-opt seccomp:chrome.json在容器启动时执行。并且--security-opt seccomp:chrome.json不是正确的 linux 命令(在$PATH.

话虽如此,您应该做的是交换--security-opt图像ID的顺序。因为--security-opt是一种docker run选择。

sudo docker run --name=alpin1effcon1t -it --security-opt seccomp:chrome.json 453135d09376
于 2022-01-04T08:33:09.883 回答