docker - 在 docker-compose.yaml 中设置 security_opt 不起作用

标签 docker docker-compose dockerfile config

我正在尝试设置 security_opt根据官方 docker(docker-compose 引用)文档。从 docker-compose.yaml 似乎不起作用.我试图用谷歌搜索它,但发现关于 security_opt 的信息数量非常有限。在码头。
我试图在 docker-compose.yaml 中用二进制开始图像:

version: "3.7"

services:
    test:
        container_name: testcontainer
        image: testimage
        hostname: testhost
        command: --test
        volumes:
            - ./data:/data
        security_opt:
            - label:user:testuser
            - no-new-privileges:true
所以当我运行 docker-compose up -d它从 root 启动此服务,而不是从 testuser .
但是如果我添加 user: uid:gid到它从指定开始的服务配置 uid :
version: "3.7"

services:
    test:
        container_name: testcontainer
        image: testimage
        hostname: testhost
        command: --test
        volumes:
            - ./data:/data
        security_opt:
            - label:user:testuser
            - no-new-privileges:true
        user: 1001:1001
  • 为什么security_opt不起作用?
  • security_opt: - label:user:testuser有什么区别和 user: uid:gid ?
  • 如何查询 security_opt已应用设置?

  • 似乎谷歌上关于这个主题的信息并不多。提前致谢。

    最佳答案

    回答“如何检查已应用 security_opt 设置?”

    $ docker inspect [CONTAINER-NAME] --format '{{ .Id }}: SecurityOpt={{ .HostConfig.SecurityOpt }}'
    
    要对所有正在运行的容器执行此操作:
    $ docker ps --quiet --all | xargs docker inspect --format '{{ .Id }}: SecurityOpt={{ .HostConfig.SecurityOpt }}'
    

    关于docker - 在 docker-compose.yaml 中设置 security_opt 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64225950/

    相关文章:

    docker - 如何删除docker镜像的所有构建历史?

    postgresql - 从 docker compose 启动的容器无法连接到另一个容器

    mysql - 如何编辑 docker mysql 镜像并增加连接限制

    linux - 使用 Kubernetes 增加 docker 容器的基本设备大小

    docker - 将域转发到 docker 容器

    docker - 不同的结果 COPY 和 ADD DockerFile

    docker compose 网络版本 3 – 除非使用公共(public) IP,否则容器无法互相看到?

    django - Docker 连接拒绝挂起 Django

    Docker compose 无法构建,而 docker build 没有任何问题

    dockerfile 没有创建目录和复制文件?