Unverified 提交 2464b20e 作者: Steven Allen 提交者: GitHub

Merge pull request #5048 from manandbytes/docker-non-root

Really run as non-root user in docker container
...@@ -60,12 +60,15 @@ EXPOSE 8080 ...@@ -60,12 +60,15 @@ EXPOSE 8080
# Swarm Websockets; must be exposed publicly when the node is listening using the websocket transport (/ipX/.../tcp/8081/ws). # Swarm Websockets; must be exposed publicly when the node is listening using the websocket transport (/ipX/.../tcp/8081/ws).
EXPOSE 8081 EXPOSE 8081
# Create the fs-repo directory and switch to a non-privileged user. # Create the fs-repo directory
ENV IPFS_PATH /data/ipfs ENV IPFS_PATH /data/ipfs
RUN mkdir -p $IPFS_PATH \ RUN mkdir -p $IPFS_PATH \
&& adduser -D -h $IPFS_PATH -u 1000 -G users ipfs \ && adduser -D -h $IPFS_PATH -u 1000 -G users ipfs \
&& chown ipfs:users $IPFS_PATH && chown ipfs:users $IPFS_PATH
# Switch to a non-privileged user
USER ipfs
# Expose the fs-repo as a volume. # Expose the fs-repo as a volume.
# start_ipfs initializes an fs-repo if none is mounted. # start_ipfs initializes an fs-repo if none is mounted.
# Important this happens after the USER directive so permission are correct. # Important this happens after the USER directive so permission are correct.
......
...@@ -53,14 +53,18 @@ EXPOSE 5001 ...@@ -53,14 +53,18 @@ EXPOSE 5001
EXPOSE 8080 EXPOSE 8080
EXPOSE 8081 EXPOSE 8081
# Create the fs-repo directory and switch to a non-privileged user. # Create the fs-repo directory
ENV IPFS_PATH /data/ipfs ENV IPFS_PATH /data/ipfs
RUN mkdir -p $IPFS_PATH \ RUN mkdir -p $IPFS_PATH \
&& useradd -s /usr/sbin/nologin -d $IPFS_PATH -u 1000 -G users ipfs \ && useradd -s /usr/sbin/nologin -d $IPFS_PATH -u 1000 -G users ipfs \
&& chown ipfs:users $IPFS_PATH && chown ipfs:users $IPFS_PATH
# Switch to a non-privileged user
USER ipfs
# Expose the fs-repo as a volume. # Expose the fs-repo as a volume.
# start_ipfs initializes an fs-repo if none is mounted. # start_ipfs initializes an fs-repo if none is mounted.
# Important this happens after the USER directive so permission are correct.
VOLUME $IPFS_PATH VOLUME $IPFS_PATH
# The default logging level # The default logging level
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论