Digital Ocean:如何通过Docker组合构建卷

时间:2019-03-20 15:44:11

标签: docker server docker-compose digital-ocean

我已经为数字海洋中的飞沫购买了体积,而当我进行docker compose build时,它会占用我当前设置的空间,并且无法构建图像。

我当前的设置已启用

`/dev/vda1       25227048 25191932     18732 100% /`

完整的Ubunto是:

udev             2013884        0   2013884   0% /dev
tmpfs             404632     5672    398960   2% /run
/dev/vda1       25227048 25191932     18732 100% /
tmpfs            2023160        0   2023160   0% /dev/shm
tmpfs               5120        0      5120   0% /run/lock
tmpfs            2023160        0   2023160   0% /sys/fs/cgroup
/dev/vda15        106858     3437    103421   4% /boot/efi
tmpfs             404632        0    404632   0% /run/user/0
/dev/sda       103081248    93980  97728004   1% /mnt/volume_lon1_01

我如何构建,以使其在我的新卷上构建?

`/dev/sda       103081248    93980  97728004   1% /mnt/volume_lon1_01`

立即失败:

 Version:       18.03.0-ce
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    0520e24
 Built: Wed Mar 21 23:10:01 2018
 OS/Arch:       linux/amd64
 Experimental:  false
 Orchestrator:  swarm
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

1 个答案:

答案 0 :(得分:0)

如果只想将新磁盘用于docker,则需要将其挂载在docker基本目录/var/lib/docker中。

但是在执行此操作之前,您需要:

  • 完全sudo systemctl docker stop停止docker守护进程
  • 将当前目录中的所有内容同步到新磁盘:sudo rsync -aqxP /var/lib/docker/ /mnt/volume_lon1_01
  • 删除旧内容:sudo rm -rf /var/lib/docker/*
  • 将新卷安装到正确的位置:sudo mount /dev/sda /var/lib/docker
  • 启动docker daemon sudo systemctl start docker
  • 检查一切是否正常-您可以检查是否仍列出docker volume ls卷或某些本地映像docker images ls,或者是否可以启动新容器docker run -ti alpine
  • 将新的安装定义添加到/etc/fstab *

您还可以将docker的默认目录更改为使用/mnt/volume_lon1_01

如果您想要第二个选项,我建议您阅读https://linuxconfig.org/how-to-move-docker-s-default-var-lib-docker-to-another-directory-on-ubuntu-debian-linux

*对于修改fstab,如果您不熟悉,则需要一些信息:分区使用的文件系统是什么,其路径以及要将其挂载的位置 之后,编辑文件/etc/fstab并检查分区路径(/dev/sda是否已存在)行。如果不是,请添加新行;如果是,则只需对其进行编辑以将安装路径更改为新行。

如何查找已安装的分区文件系统:mount 这将返回一行par分区,您需要检查分区的类型。

示例:rootfs on / type lxfs (rw,noatime),分区类型为lxfs

如果您需要添加新行,它将类似于以下内容:

/dev/sda /var/lib/docker <fs type> defaults 0 0