docker容器里怎么软连接到宿主目录
本篇内容介绍了“docker容器里怎么软连接到宿主目录”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
本篇内容介绍了“docker容器里怎么软连接到宿主目录”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!docker容器里如何软连接到宿主目录?docker
海丰ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定。
假如要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定:
# docker run -it -v /test:/soft centos /bin/bash
这样在容器启动后,容器内会自动创建/soft的目录。通过这种方式,我们可以明确一点,即-v参数中,冒号”:”前面的目录是宿主机目录,后面的目录是容器内目录。
下面我们来验证一下:
一、容器目录不可以为相对路径[root@localhost ~]# docker run -it -v /test:soft centos /bin/bashinvalid value "/test:soft" for flag -v: soft is not an absolute pathSee 'docker run --help'.
直接报错,提示soft不是一个绝对路径,所谓的绝对路径,必须以下斜线“/”开头。
二、宿主机目录如果不存在,则会自动生成
如果宿主机中存在/test目录,首先删除它[root@localhost ~]# rm -rf /test[root@localhost ~]# ls /bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
启动容器[root@localhost ~]# docker run -it -v /test:/soft centos /bin/bash[root@a487a3ca7997 /]# lsbin dev etc home lib lib64 lost+found media mnt opt proc root run sbin soft srv sys tmp usr var
查看宿主机,发现新增了一个/test目录[root@localhost ~]# ls /bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys test tmp usr var
三、挂载宿主机已存在目录后,在容器内对其进行操作,报“Permission denied”可通过两种方式解决:
1> 关闭selinux。
临时关闭:# setenforce 0
永久关闭:修改/etc/sysconfig/selinux文件,将SELINUX的值设置为disabled。
2> 以特权方式启动容器
指定–privileged参数,如:
# docker run -it --privileged=true -v /test:/soft centos /bin/bash
当前标题:docker容器里怎么软连接到宿主目录
网站URL:http://scyanting.com/article/idposd.html