非root用户离线安装docker
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、解压(ROOT用户直接从这里开始)
cd /home/qwtest/
ll
sudo tar -xvf docker-20.10.10.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 $MAINPIDLimitNOFILE=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版本
systemctl enable docker 开机启动
docker -v#查看当前启动容器
docker ps#查看当前镜像
docker images
14.验证
将打包好的hello-world镜像上传到/home/qwtest下进行加载并启动测试
#加载镜像
docker load < hello.tar#查看当前镜像
docker images#启动镜像
docker run -it --name hello_test hello:1.0