主要内容:
一、安装docker(包含卸载重新安装)
二、配置docker服务
三、安装命令简介
四、docker核心概念
一、安装docker
1.1. 通过uname -r查看系统版本,为什么要查看系统版本呢?因为docker对CentOS有以下要求:
a. CentOS 7及以后的版本
b. 64位操作系统
c. 内核版本至少3.10
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 也都是可以的
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加速器,按下面的步骤执行就可以
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
systemctl参考资料:
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html