Docker安装和基础配置

安装

配置宿主机网卡转发

`cat <<EOF >  /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
EOF

sysctl -p /etc/sysctl.d/docker.conf

配置网卡转发,看值是否为1
sysctl -a |grep -w net.ipv4.ip_forward`
Yum安装配置docker
`## 下载阿里源repo文件
$ curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

$ yum clean all && yum makecache

## yum安装
yum install -y docker-ce
##启Docker服务
sudo service docker start


## 配置源加速
## https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1ms.run",
    "https://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.ccs.tencentyun.com"
  ]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

#查看docker信息
docker info`

docker启动关闭命令
`#启动 Docker 服务
sudo systemctl start docker
#停止 Docker 服务
sudo systemctl stop docker
#重启 Docker 服务
sudo systemctl restart docker
#重新加载 Docker 配置
sudo systemctl daemon-reload

# 查看 Docker 服务状态(是否运行、有无报错)
sudo systemctl status docker

# 设置 Docker 开机自启
sudo systemctl enable docker

# 关闭 Docker 开机自启
sudo systemctl disable docker`

错误

点击查看代码
`##镜像源错误

\[root@192 ~\]# docker search centos Error response from daemon: Get "[https://index.docker.io/v1/search?q=centos&n=25](https://index.docker.io/v1/search?q=centos&n=25)": dial tcp 128.242.240.157:443: connect: connection refused

  

\## Docker 配置文件错误

\[root@192 ~\]# systemctl status docker

● docker.service - Docker Application Container Engine

Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)

Active: failed (Result: start-limit) since 三 2026-01-07 21:47:43 CST; 2min 27s ago

Docs: https://docs.docker.com

Process: 1573 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)

Main PID: 1573 (code=exited, status=1/FAILURE)`

解决方案

思路

``关键排查:通过 journalctl -u docker -xe 查看具体启动报错,这是定位问题的核心;

修复优先级:先校验 daemon.json 格式 → 重启 containerd → 清理 socket 关联 → 重置启动次数。`

查看 Docker 服务的详细启动日志 
journalctl -u docker -xe

1. 停止并禁用 docker.socket(解除关联)
sudo systemctl stop docker.socket
sudo systemctl disable docker.socket

2. 重置 Docker 服务的启动次数限制
sudo systemctl reset-failed docker

3. 杀死所有残留的 Docker 相关进程(如有)
ps aux | grep docker | grep -v grep | awk '{print $2}' | xargs kill -9 2>/dev/null

先校验 daemon.json 格式 
jq . /etc/docker/daemon.json
如果有错更改
启动并设置 containerd 开机自启
sudo systemctl start containerd
sudo systemctl enable containerd

检查 containerd 状态
sudo systemctl status containerd

重新加载 systemd 配置
sudo systemctl daemon-reload

启动 Docker 服务
sudo systemctl start docker

查看 Docker 状态(确认是否正常运行)
sudo systemctl status docker

重置 Docker 环境(注意:会清理未备份的镜像 / 容器,谨慎操作)
停止所有 Docker 相关服务
sudo systemctl stop docker containerd
清理 Docker 缓存和配置
rm -rf /var/lib/docker/* /var/run/docker.sock
重新启动 Docker
sudo systemctl start docker
posted @ 2026-01-10 08:05  刘玺  阅读(1)  评论(0)    收藏  举报