我是 ansible 世界的新手,任何人都可以帮助我理解 ansible 中 shell 和命令之间的区别。何时使用 shell,何时使用命令。我知道一个用例
命令模块更安全,因为它不受用户环境的影响。
我有以下 docker 文件
FROM something.com/..../lrh7:latest
RUN whoami
SHELL ["/usr/sbin", "-c"]
RUN /usr/sbin/groupadd -g 1000 AB_DOCKER_SETUP_GROUP
Run Code Online (Sandbox Code Playgroud)
当我进行 docker 构建时,它失败并提示权限被拒绝
container_linux.go:247: starting container process caused "exec: \"/usr/sbin\": permission denied"
Run Code Online (Sandbox Code Playgroud)
但当我改变时
RUN /usr/sbin/groupadd -g 1000 AB_DOCKER_SETUP_GROUP
Run Code Online (Sandbox Code Playgroud)
到
CMD ["su", "-" ,"groupadd", "-g", "1000", "AB_DOCKER_SETUP_GRO"]
Run Code Online (Sandbox Code Playgroud)
然后docker构建成功。whoami 的输出是 ROOT,这意味着我正在以 root 身份运行,即使在那之后我也必须显式指定 sudo 来添加组。
跑步
RUN su - /usr/sbin/groupadd -g 1000 AB_DOCKER_SETUP_GROUP # sudo/su both fails
Run Code Online (Sandbox Code Playgroud)
也因权限被拒绝而失败。我不清楚幕后发生了什么。
我有一个图像,我想知道用于构建它的基本图像是什么。换句话说,什么是
FROM base_image?
Run Code Online (Sandbox Code Playgroud)
我尝试过 docker Inspection ,它提供了非常丰富的信息,但它没有回答我们正在寻找的内容。
我在 Golang 项目中做了一些更改,然后运行make test它负责linting 、格式化和单元测试。但是当它运行 linter.sh 时,它会抛出以下错误
pkg/skaffold/kubernetes/wait.go:23: File is not `goimports`-ed with -local github.com/GoogleContainerTools/skaffold (goimports)
"github.com/GoogleContainerTools/skaffold/pkg/skaffold/kubectl"
Run Code Online (Sandbox Code Playgroud)
这是代码的链接。
我有一个用例,我的 pod 以非 rootuser 身份运行并且它运行一个 python 应用程序。现在我想将文件从主节点复制到正在运行的 pod。但是当我尝试跑步时
kubectl cp app.py 103000-pras-dev/simplehttp-777fd86759-w79pn:/tmp
Run Code Online (Sandbox Code Playgroud)
这个命令挂了,但是当我以 root 用户身份运行 pod 然后运行相同的命令时,它会成功执行。我正在浏览 kubectl cp 的代码,它在内部使用 tar 命令。
Tar 命令有多个标志,如 --overwrite --no-same-owner、--no-preserve 等。现在从 kubectl cp 我们不能将所有这些标志传递给 tar。有什么方法可以使用 kubectl exec 命令或任何其他方式复制文件。
kubectl exec simplehttp-777fd86759-w79pn -- cp app.py /tmp/ **flags**
Run Code Online (Sandbox Code Playgroud) 我想访问k8s中get命令返回的limits.memory变量
kubectl get resourcequota default -n 103000-p4-dev -o custom-columns=USED:.status.used
USED
map[limits.memory:0 requests.cpu:0 requests.memory:0]
Run Code Online (Sandbox Code Playgroud)
我尝试了很多方法但都没有成功
[root@iaasn00126847 ~]# k get resourcequota default -n 103000-p4-dev -o custom-columns=USED:.status.used.limits.memory
Run Code Online (Sandbox Code Playgroud)
什么都不返回
是否有分隔符来获取相同的内容