docker RabbitMQ 搭建集群模式,磁盘空间不足,容器迁移目录

docker 镜像默认存放的目录是/var/lib/docker
通过查看容器的log 发现:容器的磁盘满了,无法启动

docker logs --tail=100 containID
=INFO REPORT==== 19-Nov-2018::03:55:30 ===
Error description:
   {could_not_start,rabbit,
       {error,
           {{shutdown,
                {failed_to_start_child,rabbit_memory_monitor,
                    {badarg,
                        [{lists,member,[disk,{error,bad_module}],[]},
                         {rabbit_memory_monitor,init,1,
                             [{file,"src/rabbit_memory_monitor.erl"},
                              {line,111}]},
                         {gen_server2,init_it,6,
                             [{file,"src/gen_server2.erl"},{line,552}]},
                         {proc_lib,init_p_do_apply,3,
                             [{file,"proc_lib.erl"},{line,247}]}]}}},
            {child,undefined,rabbit_memory_monitor_sup,
                {rabbit_restartable_sup,start_link,
                    [rabbit_memory_monitor_sup,
                     {rabbit_memory_monitor,start_link,[]},
                     false]},
                transient,infinity,supervisor,
                [rabbit_restartable_sup]}}}}

Log files (may contain more information):
   tty
   tty

{"init terminating in do_boot",{could_not_start,rabbit,{error,{{shutdown,{failed_to_start_child,rabbit_memory_monitor,{badarg,[{lists,member,[disk,{error,bad_module}],[]},{rabbit_memory_monitor,init,1,[{file,"src/rabbit_memory_monitor.erl"},{line,111}]},{gen_server2,init_it,6,[{file,"src/gen_server2.erl"},{line,552}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}}},{child,undefined,rabbit_memory_monitor_sup,{rabbit_restartable_sup,start_link,[rabbit_memory_monitor_sup,{rabbit_memory_monitor,start_link,[]},false]},transient,infinity,supervisor,[rabbit_restartable_sup]}}}}}
init terminating in do_boot ()

查看目录使用状况:

df -h

结果:

[test@k4843v docker]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   48G   16M 100% /
devtmpfs        7.6G     0  7.6G   0% /dev
tmpfs           7.6G  4.0K  7.6G   1% /dev/shm
tmpfs           7.6G  761M  6.9G  10% /run
tmpfs           7.6G     0  7.6G   0% /sys/fs/cgroup
/dev/sdb1       394G  344M  374G   1% /data
tmpfs           1.6G     0  1.6G   0% /run/user/0
tmpfs           1.6G     0  1.6G   0% /run/user/23239
tmpfs           1.6G     0  1.6G   0% /run/user/18922

可以看到空间已经满了,所以需要将容器迁移到空间更大的目录下就解决了。
迁移目录的步骤如下:

  1. 停止docker服务。
    systemctl stop docker 或者 service docker stop
  2. 创建新的docker目录,执行命令df -h,找一个大的磁盘,/data 目录有500G的空间。
    mkdir -p /data/docker
  3. 迁移/var/lib/docker目录下面的文件到 /data/docker下面
    cp -R /var/lib/docker/* /data/docker
  4. 修改docker配置,在文件末添加 --graph=/data/docker
    ExecStart=/usr/bin/dockerd-current \
          --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
          --default-runtime=docker-runc \
          --exec-opt native.cgroupdriver=systemd \
          --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
          --seccomp-profile=/etc/docker/seccomp.json \
          --graph=/data/docker    \
          $OPTIONS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $ADD_REGISTRY \
          $BLOCK_REGISTRY \
          $INSECURE_REGISTRY \
          $REGISTRIES
    
  5. 重载配置,重启docker
    systemctl daemon-reload
    systemctl restart docker

参考:
https://blog.csdn.net/qq_37674858/article/details/79976751

猜你喜欢

转载自blog.csdn.net/yrx0619/article/details/84254833
今日推荐