在Ubuntu 16.04上增加Docker容器的大小

104次阅读
没有评论

问题描述

在Ubuntu 16.04上使用Docker时,希望增加Docker容器的大小。他已经在/etc/docker/daemon.json文件中添加了配置,但在使用sudo service docker start启动Docker时,出现了错误。用户希望知道如何正确地增加Docker容器的大小以及解决启动错误的问题。

解决方案

请注意以下操作注意版本差异及修改前做好备份。
在解决这个问题之前,我们首先需要了解您在Docker上配置的dm.basesize选项是针对device mapper存储驱动的。如果您的存储驱动不是device mapper,那么这个选项将不适用。

步骤1:确认存储驱动

首先,我们需要确认您正在使用的存储驱动。在您的问题中提到您的Docker版本为18.03.1-ce,这意味着您很可能在Ubuntu 16.04上默认使用了overlay2存储驱动。要检查您的存储驱动,可以运行以下命令:

docker info --format '{{.Driver}}'

如果输出是overlay2,则说明您的存储驱动是overlay2而不是device mapper,因此dm.basesize选项不适用。

步骤2:使用正确的存储驱动配置

如果您的存储驱动确实是overlay2,那么您不应该使用dm.basesize选项。相反,您可以通过以下步骤来配置overlay2存储驱动的大小。

配置overlay2存储驱动大小

  1. 打开Docker的配置文件/etc/docker/daemon.json(如果文件不存在,则可以创建它)。
  2. 添加以下内容到daemon.json文件中:
{
    "storage-driver": "overlay2",
    "storage-opts": [
        "overlay2.size=20GB"
    ]
}

在上面的示例中,我们使用了overlay2.size选项来设置overlay2存储驱动的大小为20GB。您可以根据需要调整大小值。

重新加载Docker配置并重启Docker

完成配置后,执行以下步骤以重新加载Docker配置并重启Docker服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

步骤3:查看日志以排除错误

如果您在重启Docker服务时仍然遇到问题,可以查看Docker的日志以获取更多详细信息。执行以下命令以查看Docker服务的日志:

journalctl -u docker --no-pager -n 50

这将显示Docker服务的最后50行日志,帮助您进一步排查问题。

请注意,overlay2存储驱动会根据实际使用情况动态分配磁盘空间,因此不同于device mapper的固定大小。如果您的需求仅仅是希望容器可以使用更多磁盘空间,那么overlay2存储驱动会更加适合您的需求。

请谨慎进行操作,确保在进行任何更改之前备份您的数据。操作可能会因不同的环境和版本而有所不同。

以上是在Ubuntu 16.04上增加Docker容器大小的解决方案。如果您的存储驱动确实是device mapper,并且您希望使用dm.basesize选项,您可以尝试在/etc/docker/daemon.json中添加合适的配置,但请注意该选项仅适用于device mapper存储驱动。

希望以上解决方案能够帮助您成功增加Docker容器的大小并解决启动错误。如有其他疑问或需要进一步帮助,请随时向我提问。

正文完