在昨天有关Shocker的消息之后,似乎Docker容器中的应用程序不应该以root身份运行.我试图更新我Dockerfile创建一个应用程序用户,但是更改应用程序文件的权限(虽然仍然是root)似乎不起作用.我猜这是因为某些LXC权限未被授予root用户可能吗?
这是我的Dockerfile:
# Node.js app Docker file
FROM dockerfile/nodejs
MAINTAINER Thom Nichols "thom@thomnichols.org"
RUN useradd -ms /bin/bash node
ADD . /data
# This next line doesn't seem to have any effect:
RUN chown -R node /data
ENV HOME /home/node
USER node
RUN cd /data && npm install
EXPOSE 8888
WORKDIR /data
CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)
非常简单,但是当我ls -l仍然拥有root时:
[ node@ed7ae33e76e1:/data {docker-nonroot-user} ]$ ls -l /data
total 64K
-rw-r--r-- 1 root root 383 Jun 18 20:32 Dockerfile …Run Code Online (Sandbox Code Playgroud)