遇到问题:因为上个运维老哥把harbor项目的存储路径放在了/data,而/data又没有单独的存储分区,根分区又总共只有50G的空间,导致镜像一旦构建一段时间后根分区的磁盘满了。所以我这里使用软链接的方式到/opt目录下来存放harbor项目。
先将使用harbor文件的进程关闭。我这里直接关闭docker服务
创建一个目录用于存放harbor文件。
[root@harbor:data]# mkdir /opt/harbor
将/data目录中的文件拷贝或移动到/opt/harbor/data下
[root@harbor:harbor]# mv /data /opt/harbor/data
确保文件复制完成后,删除/data目录(此时应该是空目录,或已经移动到指定目录下),不存在目标目录才可以创建软链接!
做ln -s 命令创建软连接
[root@harbor:harbor]# ln -s /opt/harbor/data/ /data
创建完成后就可以重启启动docker和harbor。
命令:
ln -s [源文件或目录] [目标文件或目录]
当前路径创建test 引向/var/www/test 文件夹
ln –s /var/www/test test
创建/var/test 引向/var/www/test 文件夹
ln –s /var/www/test /var/test
删除软链接
和删除普通的文件是一眼的,删除都是使用rm来进行操作
rm –rf 软链接名称(请注意不要在后面加”/”,rm –rf 后面加不加”/” 的区别,可自行去百度下啊)
切记不要自动补全删除,如果是rm -rf test/ 那么原目录下的文件都会被删除!!!
例如:
删除test
rm –rf test
修改软链接
如果想要用一个新的连接目录来覆盖旧的连接目录,需要加上 -n 和 -f选项, -n用于将连接目录看作一个普通的文件,-f用于删除旧的连接目录
ln –snf [新的源文件或目录] [目标文件或目录]
-s --symbolic比较容易,有-s时表示创建软连接,没有-s时,表示创建硬链接
-f --force
强行删除任何已存在的目标文件
-n
--no-dereference 把符号连接的目的目录视为一般文件
这将会修改原有的链接地址为新的地址
例如:
创建一个软链接
ln –s /var/www/test /var/test
修改指向的新路径
ln –snf /var/www/test1 /var/test