Bootstrap

一、Docker 安装集

一、Docker CentOS

# Docker要求CentOS系统的内核版本高于3.10:

# Docker从1.13版本之后,采用时间线的方式作为版本号:
1. 分为社区版CE和企业版EE。
2. 社区版是免费提供给个人开发者和小型团体使用的。
3. 企业版会提供额外的收费服务(如:经过官方测试认证过的基础设施、容器、插件等)。

# 社区版按照 stable 和 edge 两种方式发布:
1. 每个季度更新stable版本(如:17.06、17.09)。
2. 每个月份更新edge版本(如:17.09、17.10)。

1. 先决条件

  • 删除存在的 Docker
# 卸载旧版本的包
$ sudo yum erase 'docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64'
# 1. 查看系统的内核版本
$ sudo uname -r	

# 2. 确保`yum`包更新到最新(需使用`root`权限)
$ sudo yum --version
$ sudo yum update

# 3. 卸载旧版本
$ sudo yum remove docker 'docker-common' 'docker-selinux' 'docker-engine'

# 4. 安装需要的软件包
$ sudo yum install -y 'yum-utils' 'device-mapper-persistent-data' 'lvm2'
# `yum-util`提供`yum-config-manager`功能
# 另外两个是`devicemapper`驱动依赖的

# 5、设置`yum`源
$ sudo yum-config-manager --add-repo 'https://download.docker.com/linux/centos/docker-ce.repo'	

2. 查询仓库中 Docker 版本

$ yum list 'docker-ce' --showduplicates | sort -r

3. 安装

# 1. 由于`repo`中默认只开启`stable`仓库(故这里安装的是最新稳定版:17.12.1)
$ sudo yum install 'docker-ce'  
#或 sudo yum install docker-ce-17.12.1.ce

# 2. 过时
$ yum install -y docker	

# 3. 安装
$ sudo yum install -y 'docker-ce' 'docker-ce-cli' 'containerd.io' --allowerasing
`
--allowerasing # 替换冲突的软件包
--skip-broken # 跳过无法安装的软件包
--nobest # 不只使用最佳选择的软件包
`
# 如果上面安装报错,此时需要安装新版`containerd.io`
$ sudo dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
# 再装剩下两个
$ sudo yum install 'docker-ce' 'docker-ce-cli'

# 4. 安装
$ yum install 'docker-io'

4. 启停

# 1. 启动docker
$ sudo systemctl start docker	
	
# 2. 停止docker
$ sudo systemctl stop docker	

# 3. 重启`docker`
$ sudo systemctl restart docker	

# 设置开机启动docker
$ sudo systemctl enable docker 
# 取消开机启动docker
$ sudo systemctl disnable docker	
# 1. 查看docker状态
$ sudo systemctl status docker

# 2. 查看docker进程
$ ps -ef | grep docker

5. 验证

# 查看docker版本信息
$ docker version	

# 查看docker版本
$ docker -v		

# 查看docker概要信息
$ docker info	

# 查看docker帮助文档	
$ docker --help 	

6. 测试

# 测试`HelloWorld`案例
$ docker pull hello-world

$ docker run hello-world
#打印 Hello from Docker 表示成功安装

二、Docker Ubuntu

三、Docker 配置

1. 配置 Docker 镜像加速器 USTC

# USTC开源镜像。https://lug.ustc.edu.cn/wiki/mirrors/help/docker
1. USTC是老牌的Linux镜像服务提供者了,在Ubuntu-5.04版本的时候就在用。
2. ustc docker mirror 的优势之一就是不需要注册,是真正的公共服务。
# 修改配置文件(如果该文件不存在就手动创建)
$ vi /etc/docker/daemon.json
`
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
`

2. 配置 Docker 镜像加速器阿里云

# 1. 创建/etc/docker文件夹
$ sudo mkdir -p /etc/docker

# 2. 配置镜像地址
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://ui30dahv.mirror.aliyuncs.com"]
}
EOF

# 3. 重启daemon
$ sudo systemctl daemon-reload

# 4. 重启docker服务	
$ sudo systemctl restart docker	

3. 配置 Docker 日志驱动

# Docker 容器的日志默认会存储在 /var/lib/docker/containers/<container_id>/<container_id>-json.log 文件中。
# 如果容器长时间运行且产生大量日志,会导致该目录占用大量空间。
# 可以通过修改 Docker 守护进程的配置文件来配置日志驱动,限制日志的大小和数量。

# 编辑 Docker 配置文件,通常为 /etc/docker/daemon.json,如果文件不存在则创建它。
1. 将日志驱动设置为 json-file。
2. 并限制每个日志文件的最大大小为 10MB。
3. 最多保留 3 个日志文件。
4. 配置完成后,重启 Docker 服务使配置生效,sudo systemctl restart docker。
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;