2018年3月4日 星期日

Docker 執行時遇到的權限問題



執行某些的 Docker 容器時,可能碰到 sudo 權限被排除在外的狀況,像是: docker ls: cannot open directory .: Permission denied。 其總共有幾種解決方式:

重新跑權限


整個 Container 需要砍掉重練,在執行時加入指令 --privileged:
docker run --privileged .....


重新定義 Dockerfile 權限


在 Dockerfile 編輯加入:
RUN apt-get update && \
      apt-get -y install sudo

RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo

USER docker
CMD /bin/bash

Reference:
http://nanxiao.me/en/selinux-cause-permission-denied-issue-in-using-docker/
https://docs.docker.com/engine/reference/builder/#parser-directives
https://stackoverflow.com/questions/28721699/root-password-inside-a-docker-container
https://stackoverflow.com/questions/25845538/using-sudo-inside-a-docker-container

沒有留言:

張貼留言

© Mac Taylor, 歡迎自由轉貼。
Background Email Pattern by Toby Elliott
Since 2014