sách gpt4 ai đã đi

Quyền sở hữu tệp để xây dựng hình ảnh docker

In lại 作者:行者123 更新时间:2023-12-04 19:55:04 29 4
mua khóa gpt4 Nike

我想为添加到 docker 镜像的文件设置文件权限。我有这个简单的 Dockerfile:

FROM ubuntu:utopic

WORKDIR /app
RUN groupadd -g 1000 baz && useradd -u 1000 -g baz baz -d /app -s /bin/false
RUN chown baz:baz /app && chmod g+s /app
# want this to be have group baz
ADD foo /app/

docker build -t abc . 构建这个哪里有 đồ ăn文件在 .创建图像。但是,对 /app/foo 的权限里面不是我想要的。
docker run abc ls -la     
total 12
drwxr-xr-x 2 baz baz 4096 Sep 2 23:21 .
drwxr-xr-x 37 root root 4096 Sep 3 07:27 ..
-rw-rw-r-- 1 root root 419 Sep 2 21:43 foo

请注意文件 đồ ăn不属于组 baz尽管 the setgid bit正在设置 /app目录我可以用 RUN chown -R baz:baz /app添加文件后,但会创建要创建的图层的副本(请注意下面两个图层的大小):
docker history abc | head -n 3
IMAGE CREATED CREATED BY SIZE COMMENT
b95a3d798873 About a minute ago /bin/sh -c chown -R baz:baz /app 419 B
7e007196c116 About a minute ago /bin/sh -c #(nop) ADD file:2b91d9890a9c392390 419 B

有什么方法可以解决这个问题,并添加文件的所有权是我想要的吗?

1 Câu trả lời

而不是添加 đồ ăn直接,您可以将其打包为 tar-archive 并为特定的 UID/GID 设置权限。这是一篇关于如何做到这一点的帖子:
https://unix.stackexchange.com/questions/61004/force-the-owner-and-group-for-the-contents-of-a-tar-file

之后,您可以在 Docker 镜像中解压它( ADD 自动解压)。您应该会看到保留的权限,而无需额外的图层。

关于构建 docker 镜像的文件所有权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32363708/

29 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com