当前位置:首页 » 服务存储 » docker修改存储
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

docker修改存储

发布时间: 2022-06-05 05:26:43

❶ 如何修改 Docker 的镜像存储位置

我用的阿里云的服务器, 但是系统盘只有20G, 默认 Docker 的镜像文件是安装在/var/lib 目录下的, 这样的话我根本装不了太多的镜像... 这个必须得改改...
搜了下, 解决方案如下:

方案1, 使用参数-g 来修改 Docker 的镜像存储文件夹.

修改方法如下:
在 Ubuntu/Debian 系统下:
编辑 /etc/default/docker 文件, 添加-g 参数的设置, 如下:

DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
在 Fedora/Centos 系统下:

编辑 /etc/sysconfig/docker 文件, 添加-g 参数的设置, 如下:

other_args="-g /mnt"
重启 Docker 服务, 问题就解决了.

方案2 使用链接

1) 停止 Docker: service docker stop.
2) 做个备份 tar -zcC /var/lib/docker > /mnt/var_lib_docker-backup-$(date + %s).tar.gz
3) 迁移/var/lib/docker目录到met 目录下: mv /var/lib/docker /mnt/docker
4) 建个 symlink: ln -s /mnt/docker /var/lib/docker
5) 确认文件夹类型为symlink 类型 ls /var/lib/docker
6) 启动 docker service.

❷ Docker容器怎样更改容器内应用程序的配置文件

不推荐更改运行中的容器配置,容器本身是无状态的,当然也可以通过进入容器内部的方式进行更改:dockerexec-it这样的更改是无法持久化保存的,当容器重启后,更改就丢失了,正确的做法是将需要持久化保存的数据放在挂载的存储卷中,当配置需要改变时直接删除重建。

❸ 如何修改 Docker 的镜像存储位置

docker的镜像默认存放位置是 / var / lib / docker 下,要把这个挂到数据盘下本身不是什么难事,不过要平滑移动就麻烦了。 于是先去分区,挂载。我把数据盘挂载到了 / data 下,然后开始研究...... # df -lhT Filesystem Type Size Used Avail Use% Mounted on /dev/sda1 ext4 29G 2.0G 26G 8% / none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup udev devtmpfs 834M 12K 834M 1% /dev tmpfs tmpfs 168M 428K 168M 1% /run none tmpfs 5.0M 0 5.0M 0% /run/lock none tmpfs 839M 0 839M 0% /run/shm none tmpfs 100M 0 100M 0% /run/user none tmpfs 64K 0 64K 0% /etc/network/interfaces.dynamic.d /dev/sdb1 ext4 69G 52M 66G 1% /mnt /dev/sdc1 ext4 1007G 156M 956G 1% /data 备份&文件同步 首先,备份 fstab 文件,文件位于 / etc / fstab Shell sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d) sudo cp/etc/fstab/etc/fstab.$(date+%Y-%m-%d) 关闭 docker 服务,用 rsync 同步 / var / lib / docker 到新位置. Shell yum -y intall rsync service docker stop mkdir /data/docker rsync -aXS /var/lib/docker/. /data/docker/ yum-yintallrsync service dockerstop mkdir/data/docker rsync-aXS/var/lib/docker/. /data/docker/ 这可能需要花费的较长的时间,取决于/var/lib/docker的大小,我用了10分钟左右才同步好。这个时间对于已经装了几个镜像的机子来说可能更慢,所以去打一把联盟吧~ 修改fstab & 重新挂载 在该文件中把下面一行添加到 fstab 里,将新位置挂载到 / var / lib / docker Vim /data/docker /var/lib/docker none bind 0 0 /data/docker/var/lib/docker nonebind00 然后重新挂载 Shell mount –a mount–a 完成 检查一下,确定没啥问题 Shell df /var/lib/docker/ df/var/lib/docker/ Filesystem Size Used Avail Use% Mounted on/data/docker 1007G 156M 956G 1% /var/lib/docker OK,大功告成

❹ 如何更改Docker默认的images存储位置

Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把docker的数据挂载到数据盘,例如:/dev/vdb目录下。
[root@10-10-63-106 docker]# df -lhT
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 xfs 20G 3.8G 16G 20% /
devtmpfs devtmpfs 916M 0 916M 0% /dev
tmpfs tmpfs 921M 0 921M 0% /dev/shm
tmpfs tmpfs 921M 43M 878M 5% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/vdb xfs 100G 11G 90G 11% /data
其中主要的步骤如下:
(1) 首先,备份fstab文件
sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
(2) 停止docker, 用rsync同步/var/lib/docker到新位置.
如果rsync没有安装,则使用yum -y intall rsync 进行安装,停止docker ,service docker stop,在数据分区中建立要挂载的目录,mkdir /data/docker 使用rsync工具同步,rsync -aXS /var/lib/docker/. /data/docker/,这可能需要花费的较长的时间,取决于/var/lib/docker的大小,
(3) 修改fstab
在该文件中把下面一行添加到fstab里,将新位置挂载到 /var/lib/docker
/data/docker /var/lib/docker none bind 0 0
文件的内如如下:
[root@10-10-63-106 docker]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Jul 31 07:50:13 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/vda1 / xfs errors=remount-ro 0 1
/swapfile none swap defaults 0 0
/dev/vdb /data xfs defaults,noatime 0 0
/data/docker /var/lib/docker none bind 0 0
(4) 重新挂载
mount –a
(5) 使用下面的命令检查一下
df /var/lib/docker/
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vdb 104806400 47204 104759196 1% /var/lib/docker
(6)进入Container查看我们的空间
bash-4.1# df -lhT
Filesystem Type Size Used Avail Use% Mounted on
rootfs rootfs 9.8G 1.4G 7.9G 15% /
tmpfs tmpfs 921M 0 921M 0% /dev
shm tmpfs 64M 0 64M 0% /dev/shm
/dev/vdb xfs 100G 2.1G 98G 3% /etc/resolv.conf
/dev/vdb xfs 100G 2.1G 98G 3% /etc/hostname
/dev/vdb xfs 100G 2.1G 98G 3% /etc/hosts
tmpfs tmpfs 921M 0 921M 0% /run/secrets
tmpfs tmpfs 921M 0 921M 0% /proc/kcore
没有更改/var/lib/docker路径之前的情况:
bash-4.1# df -lhT
Filesystem Type Size Used Avail Use% Mounted on
rootfs rootfs 9.8G 1.4G 7.9G 15% /
tmpfs tmpfs 921M 0 921M 0% /dev
shm tmpfs 64M 0 64M 0% /dev/shm
/dev/vda1 xfs 20G 13G 6.9G 66% /etc/resolv.conf
/dev/vda1 xfs 20G 13G 6.9G 66% /etc/hostname
/dev/vda1 xfs 20G 13G 6.9G 66% /etc/hosts
tmpfs tmpfs 921M 0 921M 0% /run/secrets
tmpfs tmpfs 921M 0 921M 0% /proc/kcore
宿主机中的分区大小信息:
[root@10-10-63-106 ~]# df -lhT
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 xfs 20G 13G 6.9G 65% /
devtmpfs devtmpfs 916M 0 916M 0% /dev
tmpfs tmpfs 921M 0 921M 0% /dev/shm
tmpfs tmpfs 921M 89M 832M 10% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/vdb xfs 100G 33M 100G 1% /data

❺ 怎么修改docker images的存储目录

第一种方式更改docker的配置文件
Ubuntu/Debian: edit your /etc/default/docker file with the -g option: DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
Fedora/Centos: edit /etc/sysconfig/docker, and add the -g option in the other_args variable: ex. other_args="-g /var/lib/testdir". If there's more than one option, make sure you enclose them in " ". After a restart, (service docker restart) Docker should use the new directory.
第二种方式使用连接
1) Stop docker: service docker stop. Verify no docker process is running ps faux
2) Double check docker really isn't running. Take a look at the current docker directory: ls /var/lib/docker/
2b) Make a backup - tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz
3) Move the /var/lib/docker directory to your new partition: mv /var/lib/docker /mnt/pd0/docker
4) Make a symlink: ln -s /mnt/pd0/docker /var/lib/docker
5) Take a peek at the directory structure to make sure it looks like it did before the mv: ls /var/lib/docker/ (note the trailing slash to resolve the symlink)
6) Start docker back up service docker start
7) restart your containers