docker image运行身份验证所需

时间:2018-01-22 13:18:07

标签: image authentication docker

请帮我在docker image中添加凭证。因此,如果有人试图输入图像,则要求提供凭证。

情景 - 假设我从官方网站下载了一个ubuntu图像,我做了一些更改并创建了一个新图像ubuntu-myapp。

现在没有人可以进入ubuntu来复制或更改我的代码。没有提供凭证

2 个答案:

答案 0 :(得分:0)

在您的泊坞窗文件中,您需要设置root用户密码。

  回声' newpassword' | passwd root --stdin

并确保所有文件夹都具有root权限以修改任何内容。

答案 1 :(得分:0)

通过向root用户添加凭据并更改为其他用户来创建Dockerfile。

$ cat Dockerfile
FROM ubuntu:16.04
COPY raghu/varibale.py /root
#create password for the root user. echo "USERNAME:NEWPASSWORD" | chpasswd
RUN echo "root:raghu" | chpasswd
#create a different user for public access.
RUN useradd -ms /bin/bash raghu
#change to the new user
USER raghu

从Dockerfile构建docker镜像。此 Docker镜像可以由任何人运行,但脚本只能由root用户执行

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
auth                2.0                 0c15c8ef5594        7 seconds ago       112MB

让我们执行Docker镜像并检查用户是否可以在没有root密码的情况下访问该文件:

$ docker run -it auth:2.0 /bin/bash
raghu@17b003083ff7:/$ ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
raghu@17b003083ff7:/$ cd root
bash: cd: root: Permission denied
raghu@17b003083ff7:/$ su -
Password: 
root@17b003083ff7:~# ls
varibale.py
root@17b003083ff7:~# pwd
/root
root@17b003083ff7:~# exit
logout
raghu@17b003083ff7:/$ exit
exit

除非提供root密码,否则即使使用特权选项也无法执行文件:

$ docker run -it --privileged auth:2.0 /bin/bash
raghu@3886fb3950f8:/$ ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
raghu@3886fb3950f8:/$ cd root
bash: cd: root: Permission denied
raghu@3886fb3950f8:/$ su -
Password: 
root@3886fb3950f8:~# ls
varibale.py
root@3886fb3950f8:~# exit
logout
raghu@3886fb3950f8:/$ exit
exit

希望这有帮助。