使用普通使用者執行 docker

klvchen發表於2018-05-28

CentOS 版本 7.4,Docker 版本 docker-1.13 及以下

ll /var/run/docker.sock
srw-rw----. 1 root root 0 May 25 14:43 /var/run/docker.sock

# 新增 docker 使用者組
groupadd docker

# 把需要執行的 docker 使用者新增進該組,這裡是 ibaboss
gpasswd -a ibaboss docker

# 重啟 docker
systemctl restart docker

su - ibaboss

# 執行成功
docker ps -a 

CentOS 版本 7.4,Docker 版本 docker-ce 17 及以上

ll /var/run/docker.sock

srw-rw----. 1 root docker 0 May 25 14:12 /var/run/docker.sock

# 新增執行 docker 命令的使用者,這裡為 ibaboss
useradd ibaboss

# 把 ibaboss 使用者加入 docker 組
usermod -G docker ibaboss  

su - ibaboss

docker ps -a 

注意事項

如果之前是使用 root 使用者拉取的映象,ibaboss 使用者啟動映象可能會出現問題,eg:
docker.elastic.co/elasticsearch/elasticsearch 6.2.4
會出現
mktemp: failed to create directory via template `/tmp/elasticsearch.XXXXXXXX`: Permission denied
解決方案:
使用 ibaboss 使用者重新拉取映象

相關文章