Docker 安装与配置指南
827 字
4 分钟
Docker 安装与配置指南
一、安装
Note
安装前必读:本文的命令使用的是 root 用户登录执行,不是 root 的话所有命令前面要加 sudo
Tip
现在可以使用轩辕镜像站的一键安装脚本进行安装了
CentOS
# 查看当前内核版本(官方建议 3.10 以上)uname -r
# 卸载旧版本yum remove docker docker-common docker-selinux docker-engine
# 安装需要的软件包yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置 yum 源(推荐阿里源)yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 查看可用版本yum list docker-ce --showduplicates | sort -r
# 安装 Dockeryum -y install docker-ceUbuntu
# 卸载旧版本sudo apt-get remove docker docker-engine docker.io containerd runc
# 安装必要支持sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
# 添加 Docker 阿里源 GPG keycurl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加 apt 源echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新源并安装sudo apt updatesudo apt install docker-ce docker-ce-cli containerd.io
# 查看版本和状态sudo docker versionsudo systemctl status dockerAlpine
# 启用 cgroups(不启用会导致 Docker 无法启动)rc-update add cgroups bootrc-service cgroups startmount | grep cgroup
# 安装 Dockerapk add docker docker-compose
# 创建配置目录mkdir -p /etc/docker
# 写入基础配置cat > /etc/docker/daemon.json << 'EOF'{ "log-driver": "json-file", "log-opts": { "max-size": "5m", "max-file": "2" }, "storage-driver": "overlay2", "default-ulimits": { "nofile": { "Name": "nofile", "Hard": 1024, "Soft": 512 } }, "max-concurrent-downloads": 1, "max-concurrent-uploads": 1}EOF
# 重启 Dockerrc-service docker restart常用服务命令
# systemctl 系统(CentOS / Ubuntu)systemctl start dockersystemctl stop dockersystemctl restart dockersystemctl enable docker
# rc-service 系统(Alpine)rc-service docker startrc-service docker stoprc-service docker restart二、daemon.json 配置
Tip
Docker Compose 的安装与使用参见:Docker Compose 安装配置,YML 编写参见:Docker Compose YML 编写
迁移存储目录
Docker 默认将所有数据(镜像、容器、卷)存储在 /var/lib/docker/,生产环境系统盘通常空间有限,建议迁移到数据盘。
Warning
此操作建议在刚安装完 Docker 后执行,迁移前务必停止所有容器,避免数据丢失。
# 1. 停止 Docker 服务sudo systemctl stop docker
# 2. 创建新的数据目录mkdir -p /opt/docker/chmod -R 755 /opt/docker/
# 3. 迁移现有数据(如有)sudo cp -a /var/lib/docker/* /opt/docker/
# 4. 修改配置mkdir -p /etc/dockervim /etc/docker/daemon.json{ "data-root": "/opt/docker"}# 5. 重载配置并重启sudo systemctl daemon-reloadsudo systemctl restart docker
# 6. 验证新目录是否生效sudo docker info | grep "Docker Root Dir"
# 7. 确认数据无误后删除旧目录(可选)rm -rf /var/lib/docker限制容器日志大小
方法一:全局配置(推荐,对新容器生效)
{ "log-opts": { "max-size": "500m", "max-file": "3" }}max-size:单个日志文件最大 500MBmax-file:最多保留 3 个日志文件(滚动)
systemctl daemon-reloadsystemctl restart dockerNote
此配置只对重启后新创建的容器生效,已运行的容器需重建才能应用。
方法二:脚本主动清理日志
#!/bin/bash# 根据实际 data-root 修改此路径(默认 /var/lib/docker/containers)log_path="/var/lib/docker/containers"for container_id in $(ls "$log_path"); do log_file="${log_path}/${container_id}/${container_id}-json.log" if [ -f "$log_file" ]; then echo "清理容器 ${container_id} 的日志" truncate -s 0 "$log_file" fidoneecho "日志清理完成"私服仓库地址
Note
如需搭建私有镜像仓库,参见:Harbor 私有镜像仓库安装指南。使用自签名证书时还需配置信任:Docker 配置私服自签名证书信任
{ "insecure-registries": [ "http://harbor:30001" ]}镜像加速
{ "registry-mirrors": [ "http://harbor:30001", "https://docker.1panel.live" ]}三、完整 daemon.json 参考
{ "data-root": "/opt/docker", "log-opts": { "max-size": "500m", "max-file": "3" }, "insecure-registries": [ "harbor.example.com" ], "registry-mirrors": [ "https://docker.example.com" ]}支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
Docker 安装与配置指南
https://blog.olinl.com/posts/docker-guide/ 相关文章 智能推荐
1
Docker 卸载指南
虚拟化与容器 介绍在 Ubuntu 和 CentOS/RHEL 系统上完整卸载 Docker 的步骤,包括停止服务、移除软件包、清理残留文件和目录。
2
Harbor 私有镜像仓库安装指南
虚拟化与容器 使用 Docker Compose 部署 Harbor 私有镜像仓库,包含自签名 SSL 证书生成、YAML 配置、Nginx 反向代理等完整流程。
3
Docker Compose 工具使用教程
虚拟化与容器 Docker容器的Compose工具
4
Docker 常用命令速查
虚拟化与容器 整理 Docker 日常运维中最常用的命令,涵盖容器生命周期管理、镜像操作、日志查看、镜像导入导出等核心操作。
5
多个docker-compose实例共享网络
虚拟化与容器 让你的多个docker-compose实例共同使用一个内部网络
随机文章 随机推荐