linux安装docker权限不够,linux centos7 非root用户安装源码版docker

注意:非root用户必须要有sudo权限

一、安装前的准备

1.查看当前主机是否有docker组

46d2d1c2d2af2eaf8fba570d0409c3f9.png

若没有输出结果则新建

865a3ea6e39abe2a6e6aba3ca6181f5e.png

再次查看,发现已经有了docker组

813300b737ebc0e673590c08d10016df.png

2.新增拥有sudo权限的用户(若知道root和其他拥有sudo权限的系统用户密码,跳到3;若都没有,必做)

9a9e94418bbd6ff3c55a2555a801203c.png

修改该用户的密码

048cd63ff0583b52f60690445bc012e3.png

为新增的用户添加sudo权限

sudo vi /etc/sudoers

在92行下一行添加

test   ALL=(ALL)   ALL

3.把当前用户加入到docker组 (此时用户并没有加入进docker组)

819df608a0d52fc4762da2584d144c8e.png

切换至sudo权限用户,然后再切换回当前用户(此时可以看到用户已经加入docker组)

b935553e9a49e1ced0b94d53ff6e4fe8.png

3.删除新增的用户和它的sudo权限(第2步没做请忽略此步)

sudo vi /etc/sudoers

在92行下一行添加

test  ALL=(ALL)ALL

两次退出,不然删除用户时会报错

18a75dc900a6564551ebfad8e64b20ba.png

二、安装docker

1.下载docker源码包并上传至虚拟机

https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/x86_64/docker-18.09.0.tgz

2.解压源码包至指定目录下

02f190acc19542e723aa1989cd5402b6.png

3.将解压出来的docker目录下的指令复制到 /usr/bin/ 目录下

sudo cp docker/* /usr/bin/

4./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

5.查看一下是否改变所属用户和所属组(得到和解压出来的docker目录下的一样的8个指令)

0b77950b0772fecfab75bce11732d2da.png

6.将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

LimitCORE=infinity

TimeoutStartSec=0Delegate=yes

KillMode=process

Restart=on-failure

StartLimitBurst=3StartLimitInterval=60s

[Install]

WantedBy=multi-user.target

7.添加执行权限并重新加载配置文件

sudo chmod a+x /etc/systemd/system/docker.service

sudo systemctl daemon-reload

8.docker镜像加速(可以不做,但是docker pull会很慢,由于docker官网在海外)

新建该文件

sudo vi /etc/docker/daemon.json

加入以下内容

{"registry-mirrors": ["http://hub-mirror.c.163.com"]

}

9.启动docker

sudo systemctl start docker

三、docker基础命令

1、其他指令

docker启/停/重启/查看状态

sudo systemctl start/stop/restart/status

查看当前安装的docker有关信息

docker info

2、镜像相关指令

查看已有镜像

docker images

在docker官网搜寻指定镜像

docker search 镜像

下载镜像(不加标签默认下载最新版本的镜像)

docker pull 镜像名字:tag(即标签)

保存已有镜像

docker save -o name.tar 镜像name:tag

加载镜像

docker load -i name.tar

镜像的删除(删除镜像前请删除所有与该镜像有关的容器)

docker rmi 镜像ID(或name:tag)

修改镜像name和tag

docker tag 镜像name 新镜像name:新tag

3、容器相关指令

启动容器(-d:后台运行;--name:指定容器名字;-p:映射容器端口到本机端口;-v:容器目录文件挂载至本机目录)

docker run -d --name 自定义容器name -p 本机端口:容器端口 -v 本机目录:容器目录 镜像ID(或name:tag)

进入正在运行的容器内部(-i:以交互模式运行容器;-t:为容器重新分配一个伪输入终端.通常it一起使用)

docker exec -it 容器name(或ID) /bin/bash

容器的启/停/重启/删除

docker start/stop/restart/rm 容器name(或ID)

查看容器端口映射

docker port 容器name(或ID)

查看容器信息docker inspect 容器name(或ID)

查看正在运行的容器

docker ps

查看所有容器(包括正在运行的、停止的,不包括删除的)

docker ps -a

查看容器内的进程

docker top 容器name(或ID)

监控并显示最新100行的容器日志(可以直接使用docker logs容器name(或ID),但是日志容量大的最好加上条件)

docker logs -f --tail=100 容器name(或ID)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值