Docker安装配置
Docker 安装
官网教程:https://docs.docker.com/engine/install/centos/
安装步骤
① 先决条件
系统要求
确定是 CentOS7 及以上版本:
1 | |
卸载旧版本
1 | |
如果没有旧版本则显示:
1 | |
安装 gcc 相关环境
(docker调试的基础软件环境)(前提:能上外网)
1 | |
安装需要的软件包
yum-utils 提供 yum-config-manager 工具,device-mapper-persistent-data 和 lvm2 是 devicemapper 存储驱动所需要的
1 | |
② 安装方法
配置 stable 镜像仓库
1 | |
- (非必选)更新 yum 软件包索引:
yum makecache fast(Centos7) /yum makecache(Centos8) - 安装 DOCKER CE
安装 Docker 引擎
安装 Docker Engine,containerd 和 Docker Compose
1 | |
(安装指定版本)
1 | |
启动 Docker
1 | |
测试
1 | |
卸载
- 结束 docker 守护进程
1 | |
- 卸载 Docker Engine,CLI,containerd 和 Docker Compose packages:
1 | |
- 删除所有 images,containers 和 volumes(主机上的所有 Images, containers, volumes, or customized configuration files 并不会自动删除):
1 | |
Docker 基础配置
Docker 有两处可以配置参数:一个是 docker.service 服务配置文件,一个是 Docker daemon 配置文件 daemon.json。
建议所有修改都在 daemon.json 中进行。若没有 daemon.json ,自行创建 /etc/docker/daemon.json,官方 daemon.json 配置说明。这里对一些常用的配置进行说明。
daemon.json(推荐)
- docker 安装后默认没有
daemon.json这个配置文件,需要进行手动创建,docker 不管是在哪个平台以何种方式启动, 默认都会来这里读取配置,使用户可以统一管理不同系统下的 docker daemon 配置。 - 如果在
daemon.json文件中进行配置,需要 docker 版本高于1.12,配置文件的默认径为:/etc/docker/daemon.json - 该文件作为 Docker Engine 的配置管理文件, 里面几乎涵盖了所有 docker 命令行启动可以配置的参数。
- 相关参数的使用说明可以参阅如下,或者参阅官方文档。
1 | |
镜像下载和上传并发数
从 Docker1.12 开始,支持自定义下载和上传镜像的并发数,默认值上传为5个并发,下载为3个并发。通过添加max-concurrent-downloads 和 max-concurrent-uploads 参数对其修改:
1 | |
配置镜像加速地址
国内直接拉取镜像会有些缓慢,为了加速镜像的下载,可以给Docker配置国内的镜像地址。
1 | |
镜像源
官方镜像:https://registry.docker-cn.com
网易镜像:http://hub-mirror.c.163.com
清华大学:https://mirrors.tuna.tsinghua.edu.cn/
阿里镜像:https://1likvzyr.mirror.aliyuncs.com
* 注:阿里镜像需要登录阿里云控制台获取,每个账号有唯一镜像加速地址阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
私有仓库
Docker 默认只信任 TLS 加密的仓库地址,所有非 https 仓库默认无法登陆也无法拉取镜像。
insecure-registries 字面意思为不安全的仓库,通过添加这个参数对非 https 仓库进行授信。可以设置多个 insecure-registries 地址,以数组形式书写,地址不能添加协议头 http。
1 | |
Docker存储驱动
OverlayFS 是一个新一代的联合文件系统,类似于 AUFS ,但速度更快,实现更简单。Docker为 OverlayFS 提供了两个存储驱动程序:旧版的 overlay,新版的 overlay2 (更稳定)。
启用 overlay2 条件:Linux内核版本4.0或更高版本。
1 | |
日志驱动
容器在运行时会产生大量日志文件,很容易占满磁盘空间。通过配置日志驱动来限制文件大小与文件的数量。
日志等级分为 debug|info|warn|error|fatal ,默认为 info
1 | |
数据存储路径
默认路径为 /var/lib/docker
1 | |
Demo
这里提供一个经常使用的配置模板
1 | |
重载:
1 | |
docker.service
link路径: /etc/systemd/system/multi-user.target.wants/docker.service
绝对路径: /usr/lib/systemd/system/docker.service
背景概念
- 每一个 Unit 都有一个配置文件,告诉 Systemd 怎么启动这个 Unit 。
- Systemd 默认从目录
/etc/systemd/system/读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/,真正的配置文件存放在那个目录。 systemctl enable命令用于在上面两个目录之间,建立符号链接关系。- 开机时,Systemd 只执行
/etc/systemd/system目录里面的配置文件。
service文件定义了一个服务,分为 [Unit],[Service],[Install] 三个小节,节选如下
1 | |