相关疑难解决方法(0)

在Docker中运行app作为非root用户

昨天有关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)

node.js lxc docker

74
推荐指数
4
解决办法
7万
查看次数

标签 统计

docker ×1

lxc ×1

node.js ×1