しかし複数人数で 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 件のコメント:
コメントを投稿