docker修改根目录后容器消失
时间: 2023-06-16 15:03:10 浏览: 58
当您修改 Docker 的根目录时,Docker 会停止所有运行中的容器,然后重新启动 Docker 服务。这可能会导致您的容器消失。
要避免这种情况,请在修改 Docker 的根目录之前,将容器暂停或停止。
如果您的容器已经消失,您可以尝试使用以下命令来恢复它们:
1. 使用 "docker ps -a" 命令查看所有容器的列表,包括被停止的容器。
2. 使用 "docker start <container_id>" 命令启动被停止的容器。
如果您的容器仍然无法恢复,可能需要重新创建它们。
相关问题
docker修改根目录后镜像消失
当你修改了Docker守护进程的根目录后,Docker将无法找到以前保存在原始根目录中的镜像和容器。这是因为Docker将所有的镜像和容器存储在其数据目录中,而数据目录是在安装Docker时设置的。
如果你需要修改Docker的根目录,你需要在修改之前备份原始的数据目录。然后,你需要将备份的数据目录移动到新的根目录中,并在Docker的配置文件中指定新的数据目录路径。这样Docker就能够找到以前保存在原始根目录中的镜像和容器。
具体步骤如下:
1. 停止Docker守护进程
```
sudo systemctl stop docker
```
2. 备份原始的数据目录
```
sudo cp -rp /var/lib/docker /path/to/backup/folder
```
3. 移动备份的数据目录到新的根目录中
```
sudo mv /var/lib/docker /new/path/to/docker
```
4. 修改Docker的配置文件,指定新的数据目录路径
```
sudo vi /etc/docker/daemon.json
```
在该文件中添加以下内容:
```
{
"data-root": "/new/path/to/docker"
}
```
5. 启动Docker守护进程
```
sudo systemctl start docker
```
完成以上步骤后,Docker应该能够找到以前保存在原始根目录中的镜像和容器,并且它们将出现在Docker的镜像和容器列表中。
docker修改根目录
要修改 Docker 容器的根目录,可以使用 Docker 的 `--root` 参数。
下面是修改 Docker 根目录的步骤:
1. 停止 Docker 服务。
```bash
sudo systemctl stop docker
```
2. 备份 Docker 默认的根目录。
```bash
sudo mv /var/lib/docker /var/lib/docker.bak
```
3. 创建一个新的 Docker 根目录。
```bash
sudo mkdir /new/docker/root/dir
```
4. 启动 Docker 服务,并使用 `--root` 参数指定新的 Docker 根目录。
```bash
sudo dockerd --root=/new/docker/root/dir
```
5. 验证 Docker 是否使用了新的根目录。
```bash
sudo docker info
```
在输出中查找 `Docker Root Dir`,应该显示为 `/new/docker/root/dir`。
6. 如果一切正常,可以将 Docker 配置为在启动时自动使用新的根目录。编辑 `/etc/docker/daemon.json` 文件,添加以下内容:
```json
{
"root": "/new/docker/root/dir"
}
```
7. 重新启动 Docker 服务。
```bash
sudo systemctl restart docker
```
现在 Docker 已经成功地使用了新的根目录。