非root用户离线安装docker
本文所有操作在CentOS7.3版本下进行。
1.创建非root用户
#添加qwtest
adduser qwtest
2.设置普通用户密码
#添加qwtest
passwd qwtest
3.给普通用户添加sudo权限
sudoers
whereis sudoers
ls -l /etc/sudoers
chmod -v u+w /etc/sudoers
编辑/etc/sudoers,给新用户添加sudo权限
编辑完保存退出,并将编辑权限收回。
chmod -v u-w /etc/sudoers
4.切换到非root用户,创建docker组
su qwtest
sudo groupadd docker
5.把当前用户加入到docker组
sudo gpasswd -a qwtest docker
6.切换到root,再进入qwtest
exit
su qwtest
groups
7.解压
将docker安装包上传到/home/qwtest下,并进行解压
cd /home/qwtest/
sudo tar -xvf docker-19.03.9.tgz
8.将解压出来的docker目录下的指令复制到 /usr/bin/ 目录下
sudo cp docker/* /usr/bin/
9./usr/bin/目录下docker有关指令的所属用户和所属组(必做,不然非root用户使用docker指令报错:权限不够)
sudo chown root:docker /usr/bin/docker*
sudo chown root:docker /usr/bin/containerd*
sudo chown root:docker /usr/bin/runc
sudo chown root:docker /usr/bin/ctr
10.查看一下是否改变所属用户和所属组(得到和解压出来的docker目录下的一样的8个指令)
ll /usr/bin/|grep docker
11.将docker注册为service服务
#新建文件
sudo vi /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
12.添加执行权限并重新加载配置文件
sudo chmod a+x /etc/systemd/system/docker.service
sudo systemctl daemon-reload
13.启动docker
sudo systemctl start docker
#查看docker版本
docker -v
#查看当前启动容器
docker ps
#查看当前镜像