美文网首页docker
linux centos7 非root用户安装源码版docker

linux centos7 非root用户安装源码版docker

作者: 不玩了啊 | 来源:发表于2020-09-21 10:06 被阅读0次

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

    一、安装前的准备

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

    若没有输出结果则新建

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

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

    修改该用户的密码

    为新增的用户添加sudo权限

    sudo vi /etc/sudoers

      在92行下一行添加

      test      ALL=(ALL)      ALL

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

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

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

    sudo vi /etc/sudoers

      在92行下一行添加

      test  ALL=(ALL) ALL

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

    二、安装docker

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

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

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

    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个指令)

    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-reloa

    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基础命令

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

    sudo systemctl  start/stop/restart/status

    查看docker已有镜像

    docker images

    在docker官网搜寻指定镜像

    docker search 镜像

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

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

    启动容器(以xxx名字运行基于镜像的容器,并映射容器端口到本机端口,容器目录文件储存在本机目录)

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

    进入正在运行的容器内部

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

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

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

    查看正在运行的容器

    docker ps

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

    docker ps -a

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

    docker rmi 镜像name:tag(或ID)

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

    docker info

    相关文章

      网友评论

        本文标题:linux centos7 非root用户安装源码版docker

        本文链接:https://www.haomeiwen.com/subject/nqzmyktx.html