docker
大约 3 分钟ubuntu
离线安装
在 官网 中下载不带 rootless 的压缩包进行安装,带 rootless 的是在运行 docker 过程中不需要管理员权限,一般下载并安装 docker-28.5.2.tgz
- 上传压缩包到家目录
~ - 解压
tar -xzvf docker-28.5.2.tgz - 拷贝文件到系统目录
cp docker/* /usr/bin/ - 创建系统守护进程
sudo vim /etc/systemd/system/docker.service,并黏贴下面代码
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# 默认使用 containerd 作为运行时
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
# 注意:dockerd 会默认使用 containerd、runc 等,它们也在 /usr/bin 目录下
# 开启下列环境变量可以允许非 root 用户直接使用 docker(但需要用户加入 docker 组)
# 但本服务本身仍以 root 运行
User=root
Group=root
# 下面这些是安全限制,保持默认即可
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# 关闭 OOM 评分,防止系统内存紧张时杀死 docker
OOMScoreAdjust=-500
[Install]
WantedBy=multi-user.target
- 创建
docker.socket文件sudo vim /etc/systemd/system/docker.socket并黏贴下面代码
[Unit]
Description=Docker Socket for the API
[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
- 重新加载
systemd并启动docker
# 重新加载所有 systemd 单元文件
sudo systemctl daemon-reload
# 启动 docker 服务(现在会启动 dockerd)
sudo systemctl start docker.service
# 检查状态,确认正常运行
sudo systemctl status docker.service
- 设置开机自启动
# 启用 docker 服务(开机自动启动)
sudo systemctl enable docker.service
# 同时启用 docker.socket(虽然 service 启动后 socket 也会被绑定,但启用 socket 可以让 systemd 管理 socket 文件)
sudo systemctl enable docker.socket
- 想要使用普通用户不需要管理员权限就使用
docker,把自己的用户加入docker组
sudo groupadd docker # 如果系统还没有 docker 组
sudo usermod -aG docker $USER # 将你的普通用户加入 docker 组
- 重启服务器验证
docker是否会自启动。2026年5月5日 在ubuntu24server上验证通过
安装案例
2025年8月18日 在乐达天翼云服务器的 ubuntu22 中安装 docker 的过程
# 先卸载旧版本(如果有的话)
sudo apt-get remove docker docker-engine docker.io containerd runc
# 安装依赖
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
# 创建 keyrings 目录
sudo mkdir -p /etc/apt/keyrings
# 使用阿里云镜像获取 GPG 密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 使用阿里云镜像源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.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-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 测试
docker ps
# 执行上面命令后提示没有该命令,又执行了下面命令进行安装
apt install docker.io -y
# 再测试成功
命令
# 更新本地软件包,安装依赖
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release software-properties-common
# 使用 docker 官方源
# 添加 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
# 先切换路径再通过 curl 下载
cd /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 添加仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 docker
sudo apt-get update -y
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 启动 docker 并设置开机启动
sudo systemctl start docker
sudo systemctl enable docker
清除日志
# 查看 nacos 容器的ID,得到 d66183c11106
sudo docker ps -a | grep nacos
# 进入容器日志目录
sudo su # 切换到 root 用户
cd /var/lib/docker/containers/d66183c11106* # 进入容器目录(* 用于自动匹配完整 ID)
# 删除日志文件
rm -f d66183c11106*-json.log
# 退出容器
exit
