在Ubuntu下修改Docker默认的存储位置和mirror

最近在一个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博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论
  • 本博客使用免费开源的 laravel-bjyblog v5.5.1.1 搭建 © 2014-2018 lokie.wang 版权所有 ICP证:沪ICP备18016993号
  • 联系邮箱:kitche1985@hotmail.com