亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker容器中怎么利用非root用戶執行腳本

發布時間:2021-06-18 16:01:11 來源:億速云 閱讀:274 作者:Leah 欄目:大數據

今天就跟大家聊聊有關docker容器中怎么利用非root用戶執行腳本,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。


1、構建鏡像:
我將會使用dockerfile的方式來構建鏡像,基礎鏡像使用ubuntu 14.04(需要先拉取該鏡像,docker pull ubuntu:14.04)。dockerfile內容如下
[root@host09 test]# cat Dockerfile
FROM docker.io/ubuntu:14.04  
MAINTAINER hepengfei

RUN groupadd hpf  --創建用戶組
RUN useradd -d /data -g hpf -m hpf   --創建用戶
RUN su - hpf -c "mkdir -p /data/scripts" 
RUN su - hpf -c "mkdir -p /data/logs"
WORKDIR /data/scripts
COPY test.sh /data/scripts/
RUN chown hpf:hpf test.sh
RUN chmod 755 test.sh

ENTRYPOINT su - hpf -c "/data/scripts/test.sh" --使用所創建的用戶來運行腳本
[root@host09 test]#

腳本內容如下:

[root@host09 test]# cat test.sh
while [ 1 = 1 ]
do
echo `id` >>/data/logs/hpf.log  --將日志輸出到文件,啟動容器的時候做持久化
sleep 1
done
[root@host09 test]#

接下來讓我們來構建鏡像:

[root@host09 test]# docker build -t hpf:v2 .
Sending build context to Docker daemon 3.072 kB
Step 1 : FROM docker.io/ubuntu:14.04
 ---> c69811d4e993
Step 2 : MAINTAINER hepengfei
 ---> Using cache
 ---> b8401d2eb439
Step 3 : RUN groupadd hpf
 ---> Using cache
 ---> 2e0d20802c41
Step 4 : RUN useradd -d /data -g hpf -m hpf
 ---> Using cache
 ---> bac36ee97aba
Step 5 : RUN su - hpf -c "mkdir -p /data/scripts"
 ---> Using cache
 ---> a92c3f5f8e34
Step 6 : RUN su - hpf -c "mkdir -p /data/logs"
 ---> Using cache
 ---> 2e8665da7092
Step 7 : WORKDIR /data/scripts
 ---> Using cache
 ---> 7cf84a5a8aca
Step 8 : COPY test.sh /data/scripts/
 ---> 7e4c24de2096
Removing intermediate container f96358d91c35
Step 9 : RUN chown hpf:hpf test.sh
 ---> Running in fc9ab290c56c
 ---> f38afd1ea62c
Removing intermediate container fc9ab290c56c
Step 10 : RUN chmod 755 test.sh
 ---> Running in a35b507a1527
 ---> 5b5223249f4c
Removing intermediate container a35b507a1527
Step 11 : ENTRYPOINT su - hpf -c "/data/scripts/test.sh"
 ---> Running in 1ee7cc7fbec7
 ---> 26e7d603dbac
Removing intermediate container 1ee7cc7fbec7
Successfully built 26e7d603dbac
[root@host09 test]#

查看所構建的鏡像:

[root@host09 test]# docker images
REPOSITORY         TAG                IMAGE ID           CREATED            SIZE
hpf                v2                 26e7d603dbac       42 minutes ago     188.3 MB
docker.io/ubuntu   14.04              c69811d4e993       3 weeks ago        188 MB
[root@host09 test]#

2、啟動容器:

注意,在啟動容器之前,需要將宿主機上/data/hepf/log目錄的權限,否則容器啟動時,腳本中的日志將沒有權限寫該目錄,我直接將該目錄權限修改成777了。

[root@host09 test]# chmod 777 /data/hepf/log

[root@host09 test]# docker run -it -v /data/hepf/log:/data/logs hpf:v2

現在來查看/data/hepf/log目錄中的日志文件:

[root@host09 log]# pwd
/data/hepf/log
[root@host09 log]# ll
total 12
-rw-rw-r-- 1 1000 1000 10800 Sep  7 08:02 hpf.log
[root@host09 log]# tail -2 hpf.log
uid=1000(hpf) gid=1000(hpf) groups=1000(hpf)
uid=1000(hpf) gid=1000(hpf) groups=1000(hpf)
[root@host09 log]#

可以看到,該文件的屬主跟容器中創建的hpf用戶是一致的:

hpf@ba688af3f598:~$ id
uid=1000(hpf) gid=1000(hpf) groups=1000(hpf)
hpf@ba688af3f598:~$

如果宿主機上已有其他用戶跟容器中創建用戶的id一樣的話,宿主機上的日志文件屬主就會變成該用戶,但是暫時沒有發現什么問題。

[root@host09 log]# cat /etc/passwd |grep hpf1
hpf1:x:1000:1000::/data1:/bin/bash[root@host09 log]# ll
total 12
-rw-rw-r-- 1 hpf1 hpf1 11250 Sep  7 08:50 hpf.log
[root@host09 log]#

看完上述內容,你們對docker容器中怎么利用非root用戶執行腳本有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德令哈市| 仪陇县| 文山县| 财经| 阳春市| 厦门市| 乌兰浩特市| 都安| 绥阳县| 泰兴市| 吉木萨尔县| 罗定市| 卢湾区| 峨眉山市| 瑞安市| 黎平县| 科尔| 南投市| 喀喇沁旗| 南昌县| 淄博市| 蕲春县| 丰城市| 吉水县| 额济纳旗| 安国市| 武山县| 日喀则市| 都匀市| 来凤县| 平遥县| 云安县| 曲沃县| 大理市| 辽中县| 兴仁县| 方正县| 黄平县| 区。| 满城县| 祁阳县|