最近在一个arm的盒子上涮了armbian这个Linux系统在家挂着做小型服务器用,自然需要docker做一些服务的部署,由于盒子自身的emmc比较有限,自然不能和云服务器一样处理将docker放在默认存储位置。这就需要修改docker的镜像、容器等文件的存储位置,同时由于docker.io在国内的反应速度非常慢自然需要register的注册,这里就记录下相关更改。
一般来说docker的默认存储位置是/var/lib/docker,那自然会几种方法来实现修改存储位置或者增大空间的方法。
方法一:通过软连接将其他分区下较大的空间link过来
ln -s /data/docker /var/lib/docker
需要注意的事是可能有相关的权限问题,需要chmod做处理
方法二:自然是通过挂载一个更大的磁盘或者独立的分区到/var/lib/docker下
mount -t xfs /dev/mapping/lv_data_docker /var/lib/docker
之后重新启动docker
方法三也就是我采用的方法:
修改docker启动的参数,指向一个新的位置。
对于debian系列的发行版
vi /etc/defalut/docker
Customize location of Docker binary (especially for development testing).
DOCKERD="/usr/local/bin/dockerd"
# Use DOCKER_OPTS to modify the daemon startup options.
DOCKER_OPTS="--registry-mirror=https://u7g484go.mirror.aliyuncs.com -g /data/docker"
# If you need Docker to use an HTTP proxy, it can also be specified here.
#export http_proxy="http://127.0.0.1:3128/"
# This is also a handy place to tweak where Docker's temporary files go.
#export DOCKER_TMPDIR="/mnt/bigdrive/docker-tmp"
修改后通过
systemctl daemon-reload
systemctl docker restart
但是很多情况下因为systemd的配置问题,会导致并没有使用默认配置,需要执行如下操作
mkdir -p /etc/systemd/system/docker.service.d
cat /etc/systemd/system/docker.service.d/Using_Environment_File.conf
如果没有该文件则自行创建,添加以下内容
[Service]
EnvironmentFile=-/etc/default/docker
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS
载入配置重启服务
systemctl daemon-reload
service docker restart
对于提到docker.io缓慢的方式,可以通过阿里云的镜像加速来实现,在上面的配置文件中也已经有了体现。
本文为Lokie.Wang原创文章,转载无需和我联系,但请注明来自lokie博客http://lokie.wang