Docker 常用操作
常用命令
docker
# 拉取指定平台镜像
docker pull --platform=linux/x86_64 <image_name>:<tag>
docker compose
# 启动 compose.yaml 中的所有 server,-f 可以指定 compose.yaml 文件
docker compose up -d
docker compose -f <compose file path> up -d
# 启动 compose.yaml 中的某个 server
docker compose up -d <serverName>
修改 Docker 默认存储位置
Relocating the Docker root directory
Docker 默认的存储位置在 /var/lib/docker/
,后续增加的容器和镜像都会占用此空间,如果 Docker 根目录所在文件系统空间不足,且无法增加,则需要迁移该目录。
- 停止 Docker 服务
sudo systemctl stop docker
sudo systemctl stop docker.socket
sudo systemctl stop containerd
- 通过运行以下命令创建将 Docker 根目录移动到的必要目录结构。此目录结构必须位于具有至少 50 GB 可用磁盘空间的文件系统上。根据您的每日摄取量和数据保留策略,可能需要更多的磁盘空间。
sudo mkdir -p /new_dir_structure
- 将 Docker 根目录移动到新的目录结构:
sudo mv /var/lib/docker /new_dir_structure
- 编辑文件/etc/docker/daemon.json。 如果该文件不存在,请运行以下命令创建该文件:
sudo vim /etc/docker/daemon.json
在此文件中添加以下信息:
{
"data-root": "/new_dir_structure/docker"
}
- 保存并关闭/etc/docker/daemon.json文件后,重新启动Docker服务:
sudo systemctl start docker
运行该命令后,所有通过依赖管理的 Docker 服务都将重新启动。
- 验证新的 Docker 根位置:
docker info -f '{{ .DockerRootDir}}'
清理磁盘空间
# 清理未使用的镜像
docker image prune -a
# 清理未使用的容器
docker container prune
# 清理未使用的网络
docker network prune
# 清理未使用的卷
docker volume prune
# 清理构建缓存
docker builder prune
# 清理上述所有内容
docker system prune -a