解决docker pull镜像慢的问题
环境:Linux-Ubuntu23.04
工具:docker、网络代理
1、下载docker
#下载指令
sudo apt install docker.io
因为我想使用docker pull时拉取的镜像到固定路径/disk5/docker中,使用对其进行配置
sudo mkdir -p /disk5/docker
sudo mkdir -p /etc/docker/daemon.json
echo '{"data-root": "/disk5/docker"
}' | sudo tee /etc/docker/daemon.json
解决权限问题,避免每次使用docker都需要使用sudo权限
sudo usermod -aG docker $USER
newgrp docker # 刷新用户组
2、配置网络代理
# 创建代理配置文件
sudo mkdir -p /etc/systemd/system/docker.service.decho '[Service]
Environment="HTTP_PROXY=http://ip:port"
Environment="HTTPS_PROXY=http://ip:port"
Environment="NO_PROXY=localhost,127.0.0.1,10.1.2.0/24"' | sudo tee /etc/systemd/system/docker.service.d/proxy.conf# 重载配置
sudo systemctl daemon-reload
sudo systemctl restart docker# 验证代理设置
docker info | grep -i proxy#查看docker的配置
docker info
3、docker pull拉取需要的镜像
以下Docker 官方提供的极简测试镜像 hello-world,仅打印欢迎信息后退出:
#拉取镜像
docker pull hello-world #pull的过程中如果出现unexpected EOF就换个节点#查看镜像详情
docker images#运行容器
docker run hello-world#清理测试镜像
docker rmi hello-world#其它清理命令,请谨慎运行!!!
docker system prune -a # 清理所有未使用的镜像、容器、网络
docker system prune -a --filter "until=48h" #使用 --filter 按条件清理(例如保留最近创建的镜像)
其它注意事项:如果项目环境大的话,/disk5的空间大小要够,最好在设置中添加新虚拟磁盘使用
# 查看磁盘使用
df -h /disk5# 查看 Docker 数据大小
du -sh /disk5/docker
docker使用注意事项
1、权限问题
- 以 root 用户运行容器,在容器内创建的文件默认属于 root。
- 如果这些文件在宿主机上需要普通用户访问,可能需要手动修复权限:
# 在宿主机上运行(退出容器后)
sudo chown -R $USER:$USER /disk5/sdk
2、退出容器
- 输入 exit 或按 Ctrl+D 退出容器终端,容器会停止。
- 如果想保持容器后台运行,先用 Ctrl+P + Ctrl+Q 分离终端,再用 docker attach 容器的ID 重新进入。
- 在宿主机终端运行 docker ps 可以查看正在运行容器的ID;运行docker inspect 容器的ID 可以查看容器详情
3、数据持久化
- 只有挂载的目录(-v 指定的路径)会持久化到宿主机。
- 容器内其他路径的修改会在容器删除后丢失!