下面按使用场景给你讲一下 CentOS 上 Docker 的配置,从安装到常见配置,适合新手到生产环境。
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 安装依赖
sudo yum install -y yum-utils
# 添加 Docker 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
验证:
docker version
docker run hello-world
Docker 主配置文件:
/etc/docker/daemon.json
如果不存在就新建:
sudo mkdir -p /etc/docker
sudo vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.m.daocloud.io"],
"insecure-registries": ["192.168.1.100:5000"],
"dns": ["8.8.8.8", "114.114.114.114"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
修改后重启:
sudo systemctl restart docker
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com"
]
}
默认在:
/var/lib/docker
sudo systemctl stop docker
sudo mv /var/lib/docker /data/docker
daemon.json 增加:
{
"data-root": "/data/docker"
}
sudo systemctl start docker
docker info | grep "Docker Root Dir"
CentOS 默认使用 firewalld:
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
Docker 会自动操作 iptables,一般不用手动改。
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version
✅ 非 root 用户运行 Docker
sudo usermod -aG docker $USER
退出重登
✅ 限制容器日志大小
✅ 使用 overlay2 存储驱动
✅ 不暴露 2375 端口(安全风险)
我可以给你定制一份 Docker 配置方案。