主要内容:

    一、安装docker(包含卸载重新安装)

    二、配置docker服务

    三、安装命令简介

    四、docker核心概念

 

一、安装docker

 1.1. 通过uname -r查看系统版本,为什么要查看系统版本呢?因为docker对CentOS有以下要求:

   a. CentOS 7及以后的版本

   b. 64位操作系统

   c. 内核版本至少3.10

docker 安装aria2 下载失败 docker安装失败的原因_操作系统

 

 1.2. 支持devicemapper存储类型



sudo yum update
sudo yum install -y device-mapper-persistent-data lvm2


 

 1.3. 添加docker稳定版本的yum软件源。yum-utils中有yum-config-manager



sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo



 

 1.4. 更新yum软件源缓存



sudo yum update


 

 1.5. 安装docker,并起动docker服务


sudo yum install -y docker-ce
sudo systemctl start docker



 

 1.6. 查看docker是否启动成功



docker ps # docker version 或者 docker info 也都是可以的


docker 安装aria2 下载失败 docker安装失败的原因_docker 安装aria2 下载失败_02

 

 1.7. 若由于某些原因导致安装报错而失败,则可以卸载之前的docker,再重新安装。首先要查询安装过的包,再卸载



sudo yum list installed | grep docker
sudo yum remove -y 软件包名


 

  1.8. 设置开机启动



sudo systemctl enable docker

 

 

二、配置docker服务

 2.1. 由于直接访问docker的镜像特别慢,有多个方法可以配置,以下列举两种,可以挑选:

   2.1.1. 配置阿里云docker加速器,按下面的步骤执行就可以

 

docker 安装aria2 下载失败 docker安装失败的原因_docker_03

   

   2.1.2. 配置DaoCloud docker加速器(无需注册),点击这里查看

  也有其他厂的加速器,步骤一般是以下三步:

   a. 注册登录帐号,获取加速器地址

   b. 配置docker的daemon.json

   c. 重启docker服务,加载配置

 

 2.2. 我这边是用root帐号进行操作的,但如果是在工作中是普通用户的话,可以把当前用户加入安装中自动创建的docker用户组,避免每次使用docker命令时都需要切换到root身份。用户更新组信息,退出并重新登录后即可生效


sudo usermod -aG docker 用户名


 

三、安装命令简介(man xxx)

 3.1. yum

   缩写:yellow dog updater, modified,基于RPM包管理的工具,c/s架构,提供软件包的查找、安装、删除,可以自动处理包的依赖关系,并且一次性安装所有依赖。

   语法:yum [options] [command] [package ...]

  上面用到了基本的三个command:install、remove、list,再介绍下部分options:

    a. -y:安装过程中的提示默认全是"yes"

    b. -q:静默模式,不输出安装过程

    c. -h:帮助

 

 3.2. systemctl

   缩写:system control

   语法:systemctl [options] command [name]

   systemctl是 Systemd 的主命令,用于管理系统。Systemd是一组命令,是Linux系统工具,用来启动守护进程,涉及系统管理的各个方面。

   常用的有:systemctl [start(启动), stop(停止), kill(杀进程), restart(重启), enable(设置为启动项)] docker

   其他命令还有:systemd-analyze命令用于查看启动耗时。hostnamectl命令用于查看当前主机的信息。localectl命令用于查看本地化设置。timedatectl命令用于查看当前时区设置。loginctl命令用于查看当前登录的用户。

   引申:查看服务配置文件

 

systemctl cat docker.service

 

 3.3. journalctl

   缩写:journal control

   语法:journalctl [options] [matches]

   Systemd 统一管理所有 Unit (Systemd 可以管理所有系统资源。不同的资源统称为 Unit(单位)。)的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件是/etc/systemd/journald.conf。

   如果要查看docker服务最新的今天的日志滚动加载:

 

journalctl -u docker.service -f --since today

 

四、docker核心概念

 4.1. 镜像 Image

   镜像类似于虚拟机镜像,可以把它理解成一个只读模版。一个镜像可以包含一个基本的操作系统环境,且里面只安装了Docker应用程序(或其他用户需要的软件)。可以把它称为一个Docker镜像。

    镜像是创建容器的基础,通过版本管理和增量文件系统,Docker提供了非常便捷的机制来创建和更新现有的镜像,也可以直接从网上下载一个已经做好的应用镜像来直接使用。

 

 4.2. 容器 Container

   容器类似于一个轻量级的沙箱,用来运行和隔离应用。

   容器是从镜像创建的应用运行实例。可以启动、开始、停止、删除,而这些容器都是彼此相互隔离、互不可见的。

 

 4.3. 仓库 Repository

   仓库类似于代码仓库,是集中存放镜像文件的场所。

   仓库注册服务器(Registry)是存放仓库的地方,里面放了很多仓库。每个仓库存放某一类镜像,往往包括多个镜像文件,通过不同的标签(tag)来进行区分。

 

参考资料:

yum参考资料:

https://vaqeteart.iteye.com/blog/1134018

https://www.runoob.com/linux/linux-yum.html

https://blog.51cto.com/xuding/1728429

docker参考资料:

https://www.daocloud.io/mirror#accelerator-doc

https://hub.daocloud.io/repos/4983bbad-a6eb-46c6-abb3-f8e3ff35b2c8

https://hub.docker.com/

systemctl参考资料:

http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html