虽然现在Conntainerd 大有取代Docker作为容器运行时的趋势,但是docker还是有自己的优势在。尤其是对于开发者来讲,使用Docker 比使用 containerd 方便很多,尤其是在Docker Desktop等工具的加持下。
本文主要面向Docker的初、中级学者,也完全可以当做工具文档来收录,主要收集了本人多年的基于Docker容器化环境的工作实践
Docker 安装
Docker 有多种安装方式,最经典的是一键安装脚本和官方安装教程,其他的野路子不太推荐,另外给出一种纯离线安全安装Docker的方式,这个也是在很多场景中需要用到的
一键安装脚本
一键安装脚本的好处就是适合各种常见操作系统
# 国内推荐使用阿里云的镜像站
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
官方安装教程 (CentOS)
如果你的系统比较特殊,比如使用了云厂商的OS镜像,那么一键安装脚本可能不太适合你
安装必要工具
yum install -y yum-utils
# 设置镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 执行安装命令
yum install docker-ce docker-ce-cli containerd.io -y
Linux 系统 Docker 离线安装
Docker 引擎配置
{
// docker 根目录,所有的volume、image 等数据存储的地方,不要放在系统根分区
"data-root": "/app/docker",
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://dockerproxy.com"
},
"log-driver": "json-file",
// 日志大小配置,这个最好有,防止日志把磁盘塞满
"log-opts": {
"max-size": "50m", // 设置日志文件的最大大小,例如10MB
"max-file": "5" // 设置同一容器日志文件的最大数量
}
}
Docker Daemon 配置代理
mkdir -p /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://<proxy-ip>:<proxy-port>/"
Environment="HTTPS_PROXY=http://<proxy-ip>:<proxy-port>/"
# 不需要代理的地址 这个要根据自己的需要进行调整,不要直接抄
Environment="NO_PROXY=localhost,127.0.0.1,.aliyuncs.com"
# 重载并重启docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker