Docker基问题记录
摘要助手
切换
SummaryGPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往订阅 💥
前往评论 💬
👀 部署教程
Docker基问题记录
dong4j一、升级到最新版
1. 检查当前已安装的 docker 相关软件包
1 | rpm -qa | grep docker |
2. 卸载旧版本
执行以下命令卸载所有列出的相关软件:
1 | yum remove docker-<version> |
3. 升级到最新版
使用 curl 命令安装最新的 Docker 版本:
1 | curl -fsSL https://get.docker.com/ | sh |
4. 启动和设置开机自启 Docker 服务
- 重启 Docker
1 | systemctl restart docker |
- 设置启动项,确保 Docker 在系统启动时自动运行:
1 | systemctl enable docker |
二、解决升级后容器启动错误
若从旧版本(如 1.13.1)直接升级到新版本(例如 18.06.1),可能会遇到如下报错信息,当尝试启动某些使用docker-runc
运行时创建的容器时:
1 | Error response from daemon: Unknown runtime specified docker-runc |
解决方法是搜索并替换所有提到docker-runc
为runc
:
1 | grep -rl 'docker-runc' /var/lib/docker/containers/ | xargs sed -i 's/docker-runc/runc/g' |
三、安装 Docker Compose
若您的系统未安装 Docker compose,执行以下步骤进行安装:
- 确认 pip 已正确安装。
1 | pip -V |
- 安装 Docker Compose 本身:
1 | pip install docker-compose |
四、Docker 磁盘清理与镜像管理
系统垃圾清理:
使用以下命令清理不需要的容器,网络和镜像等:
1 | docker system prune |
查看 Docker 所占用的空间大小, 使用:
1 | docker system df |
镜像文件存储和加载
- 保存 Docker 镜像至 tar 文件:
1 | docker save -o xxxx.tar {imageId} |
- 加载已保存的镜像:
1 | docker load -i xxxx.tar |
其他问题处理
MySQL 文件目录设置
当使用外部存储路径时,务必指定/var/lib/mysql-files
的完整路径。例如:
1 | -v /home/mysql/mysql-files:/var/lib/mysql-files/ |
Docker 权限问题:
对于一些需要 root 权限的操作,可以添加 --privileged=true
参数。
五、查看容器日志与设置自动启动
- 查看 Docker 容器的日志信息:
1 | docker logs -t --tail=n [容器id] |
要确保 Docker 容器在重启后仍能正常运行, 可以在启动时使用--restart
参数,支持以下值:
no
: 不尝试重新启动已退出的容器。on-failure[:N]
: 当容器非零状态退出时才重启。可选地限制为最多 N 次重启always
: 总是重启该容器
例如:
1 | docker run --restart=on-failure:10 redis # 在失败后尝试重新启动10次。 |
如果已经创建了容器但需要更改其--restart
策略,使用更新命令:
1 | docker update --restart=always xxxxx_containername |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果