2018/04/08

CentOS7 で root 以外のユーザも Docker を操作できるようにする

基本的に Docker を使う時は root です。
しかし複数人数で Docker を利用したい場合、全員に root をあげるのは良くない。
調べたところ docker というグループに所属させることで、 root でなくても Docker を操作できるらしい


環境

  • OS:CentOS Linux release 7.4.1708 (Core) 
  • Kernel: 3.10.0-693.5.2.el7.x86_64
  • Docker: version 17.06.2-ee-7, build 925df35


dockerroot group

さて docker group の gid でも見るかと
  • $ cat /etc/group | grep docker
    • dockerroot:x:985:
すると docker group が無い。
が、 dockerroot というものがある。
  • $ sudo gpasswd -a atton dockerroot
して所属させてみる。
しかし、
  • $ docker ps 
すると見られない。


Socket の Owner

どうやら /var/run/docker.sock の owner は root:root らしい。
docker を yum install したら dockerroot group を作るのに何故 owner は root のみなんだろ。
まー root 以外に操作させないように念のため、ってことなのかな。

とりあえず dockerroot が読み書きできるように変更。
  • $ sudo chown root:dockerroot /var/run/docker.sock
そして一旦 exit して
  • $ docker ps
すると見られた。
  • $ docker -it run ubuntu:16.04 bash
しても動く。良し良し。


権限とか

ちなみにコンテナ内部で
  • $ whoami
すると root と言われる。
あと、他人が起動したコンテナも操作できてしまう。

なので
複数人数で Docker 操作+他人のコンテナに干渉しない
場合は wrapper を作るか、他の手段に頼る必要がありそう。


参考

0 件のコメント:

コメントを投稿