docker镜像、容器消失两种解决办法小结
前言
在工作中遇到了docker部署的服务突然停止的问题,ssh 查看后才知道原来是镜像和容器都不见了,如果遇到了这些问题的话,
可以参考一下步骤来解决。先看一下docker安装的目录是否存储空间已满,如果满了请看方法2. 如果没满可以尝试方法1.
方法1. 更换daemon.json
- 修改/etc/docker/daemon.json,让daemon.json非法,然后执行systemctl restart docker,这个时候docker会报错
- 恢复正常的/etc/docker/daemon.json,然后执行systemctl daemon-reload,systemctl restart docker就可以了
方法2. 更换docker安装目录
要将 Docker 的安装目录(即 Docker 存储其容器、镜像、卷和网络的目录)更改到/data下,您需要进行以下步骤:
2.1 停止 Docker 服务
首先,停止 Docker 服务以确保在更改配置时不会有任何冲突。
sudo systemctl stop docker
2.2 创建新的 Docker 目录
在 /data 下创建一个新的目录来存放 Docker 数据。
sudo mkdir -p /data/docker
2.3 修改 Docker 配置文件
编辑 Docker 的配置文件,通常位于 /etc/docker/daemon.json。如果该文件不存在,可以创建一个新的。
sudo nano /etc/docker/daemon.json
在文件中添加或修改以下内容,以将 Docker 数据根目录设置为 /data/docker:
{
"data-root": "/data/docker"
}
如果文件中已经有其他配置项,确保 JSON 格式正确。例如:
{
"data-root": "/data/docker",
"other-config": "value"
}
2.4 复制现有的 Docker 数据
如果您已经有一些 Docker 数据(容器、镜像等),您需要将它们复制到新的目录。
sudo rsync -aP /var/lib/docker/ /data/docker/
2.5 启动 Docker 服务
重新启动 Docker 服务以应用更改。
sudo systemctl start docker
2.6 验证更改
验证 Docker 是否正在使用新的数据目录。
docker info | grep "Docker Root Dir"
输出应显示新的 Docker 根目录为 /data/docker。
2.7 清理旧数据目录(可选)
如果确认一切正常,并且不再需要旧的 Docker 数据目录,您可以删除它以释放空间。
sudo rm -rf /var/lib/docker
总结
通过以上步骤,您可以将 Docker 的安装目录更改到 /data 下。这包括停止 Docker 服务、修改配置文件、复制现有数据、重启服务以及验证更改。确保在执行这些操作时小心谨慎,尤其是在处理现有数据时。
到此这篇关于docker镜像、容器消失两种解决办法小结的文章就介绍到这了,更多相关docker镜像、容器消失内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
docker实现批量下载pull k8s镜像并打标签tag、推送push至镜像仓库
这篇文章主要介绍了docker实现批量下载pull k8s镜像并打标签tag、推送push至镜像仓库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2025-05-05
Docker下部署MinIO存储服务通过Buckets实现文件的远程上传功能
MinIO是一个开源的软件,可以免费使用,还可以在普通硬件上运行,降低了存储成本,下面介绍在本地Docker中部署 MinIO 服务,并实现远程访问管理界面,节约云服务器运行成本,感兴趣的朋友跟随小编一起看看吧2024-01-01
Docker服务的重启服务命令详解(systemctl restart docker)
这篇文章主要介绍了Docker服务的重启服务命令(systemctl restart docker),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-11-11


最新评论