下载二进制文件
下载地址:download.docker.com/linux/stati…
解压文件
tar -zxvf docker-27.4.0.tgz
docker/
docker/runc
docker/containerd
docker/docker-init
docker/dockerd
docker/containerd-shim-runc-v2
docker/docker-proxy
docker/docker
docker/ctr
将解压出来的二进制文件 都复制到 /usr/local/bin
sudo cp docker/* /usr/local/bin/
查看 docker 客户端版本
docker version
Client:
Version: 27.4.0
API version: 1.47
Go version: go1.22.10
Git commit: bde2b89
Built: Sat Dec 7 10:37:44 2024
OS/Arch: linux/amd64
Context: default
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
创建 systemd 服务文件
cat /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/local/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
编写 docker 配置文件
cat /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"proxies": {
"http-proxy": "http://10.0.20.46:1081",
"https-proxy": "http://10.0.20.46:1081",
"no-proxy": "*.test.example.com,.example.org,127.0.0.0/8,registry.chillcy.com"
}
}
启动服务
# 重新加载 systemd
sudo systemctl daemon-reload
# 启动 Docker
sudo systemctl start docker
# 设置开机启动
sudo systemctl enable docker
# 查看状态
sudo systemctl status docker
配置 docker 用户组
原因:
docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/containers/json": dial unix /var/run/docker.sock: connect: permission denied
# 创建 docker 组(如果不存在)
sudo groupadd docker
# 将当前用户添加到 docker 组
sudo usermod -aG docker $USER
# 查看当前用户的组
groups $USER
we8 : we8 users docker
# 修改组为 docker
sudo chown root:docker /var/run/docker.sock
# 确认权限
ls -l /var/run/docker.sock
# 应该显示
# srw-rw---- 1 root docker 0 Dec 11 23:07 /var/run/docker.sock
# 重启服务
sudo systemctl restart docker
# 检查服务状态
sudo systemctl status docker
# 方法1:重新登录用户
logout
# 或
# 方法2:刷新组成员身份
newgrp docker
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES