注意:非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步没做请忽略此步)

1

2

3

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/ 目录下

1

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=0

Delegate=yes

KillMode=process

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=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)

linux非root用户搭建docker,linux centos7 非root用户安装源码版docker相关推荐

  1. linux非root用户搭建docker,Linux CentOS 7 非root用户安装源码版Docker

    Linux 版本:CentOS 7 注意:非root用户必须要有sudo权限 一.安装前的准备 1.查看当前主机是否有docker组 若没有输出结果则新建 再次查看,发现已经有了docker组 2.新 ...

  2. 【保姆级教程】Docker基础操作篇-Dokerfile(含源码)

    Docker系列文章: 你好!Docker[概念+源码+保姆式教程] [保姆级教程]Docker进阶操作篇-Compose(含源码) Docker常用命令 [保姆级教程]VMware+CentOS 7 ...

  3. Linux服务器配置与管理项目教程(CentOS7 /RHEL 7)(第三版)题库带答案

    Linux服务器配置与管理项目教程 (CentOS7 /RHEL 7)(第三版)微课版 第1篇   系统安装与网络配置 项目1  安装CentOS 服务器 项目2  配置Linux基础网络 不积跬步, ...

  4. Linux如何编译安装源码包软件

    一.什么是源码包软件: 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见:在国内源可见的软件几乎绝迹:大多开源软件都是国外出品:在国内较为出名的开源软件有fcitx;l ...

  5. Linux操作系统下如何编译安装源码包软件

    一.什么是源码包软件? 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见:在国内源可见的软件几乎绝迹:大多开源软件都是国外出品:在国内较为出名的开源软件有fcitx;l ...

  6. Linux嵌入式驱动开发01——第一个驱动Hello World(附源码)

    文章目录 全系列传送门 引言 驱动介绍 Hello World 1. 包含头文件 2. 驱动模块的入口和出口 3. 声明信息 4. 功能实现 完整代码 编译 第一种方法 第二种方法 编译成模块 第一步 ...

  7. 如何在centos7上安装源码包

    在我们使用linux的过程中,有很多程序是通过红帽官网给的系统中安装的,但是一般来说,系统更新的速度比较慢,如果这个时候我们又想用最新版的该怎么办呢?总不能一直等系统升级吧╮(╯﹏╰)╭所以,我们可以 ...

  8. CentOS7系统上的GPSTK源码安装

    网址:http://www.gpstk.org/bin/view/Documentation/BuildingGPSTkUnderUnix 这里使用Cmake来安装源码,网站上的原文摘抄如下,有少部分 ...

  9. hive server2源码地址在哪_实战搭建Thinkphp二次开发威客RW平台源码粉丝关注投票发布系统...

    实战搭建Thinkphp二次开发威客RW平台源码粉丝关注投票发布系统 运行环境:php5.6+需要开启伪静态 安装步骤: 上传解压,运行目录指向 public 修改/app/database.php ...

最新文章

  1. Java编程之前的复习和练习
  2. SpringBoot使用Redis和MyBatis完成缓存数据的增删改查
  3. hdu 1584蜘蛛牌(DFS)
  4. ubuntu 网络知识总结
  5. css 右上角 翻开动画_css制作电闪雷鸣的天气图标
  6. 当神经网络遇上量子计算:谷歌证明量子神经网络可训练图像分类
  7. IOS UIScrollView中 使用 touch 无法响应的问题
  8. Jaunt和Dolby联手,为VR视频带来更带感的全景声场体验
  9. 微信手机端调试抓包总结与问卷星手机端的自动化
  10. 演讲技巧_成功进行技术演讲的11个重要技巧
  11. python将多张图片合并成一张
  12. Codeforces Round #645 (Div. 2)
  13. 互联网公司的中台到底是什么
  14. 什么是 数据,数据库,数据库管理系统,数据库系统?
  15. 如何设置目录页码格式和正文页码格式不一样
  16. 有一个班4个学生,5门课程①求第1门课程的平均分;②找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;③找出平均成绩在90分以上或全部课程成绩在85分以上的学生分别编3个函数实
  17. Power BI+Power Apps联动初尝试
  18. NdisFilter驱动数据全部转发到应用层的性能之优化(使用共享环形队列方式)
  19. 基于Qemu虚拟vexpress-a9开发板,实现完整系统启动(uboot+kernel+rootfs)
  20. HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型(转)

热门文章

  1. 寻找数组中 的最大值最小值
  2. SQL Server应用程序中的高级SQL注入[转]
  3. ARMLINUX学习笔记(1)
  4. BigDecimal加减乘除
  5. linux常用命令-文件处理命令
  6. 第3章 一切基于pom
  7. 稳定土厂拌设备控制系统-基本介绍(图)
  8. C语言里的几个拷贝函数memcpy、memset、strcpy、strncpy
  9. Unable to add window -- token android.os.BinderProxy---Android原生开发工作笔记142
  10. Vue模板语法---vue工作笔记0003