加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 本地

怎么把本地的文件夹挂载到docker container中去

时间:2024-01-23 17:08:07  来源:http://www.gzrxw.net  作者:admin

一、怎么把本地的文件夹挂载到docker container中去

docker可以支持把一个宿主机上的目录挂载到镜像里。

docker run -it -v /home/dock/downloads:/usr/downloads ubuntu64 /bin/bash

通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。

现在镜像内就可以共享宿主机里的文件了。

默认挂载的路径权限为读写。如果指定为只读可以用:ro

docker run -it -v /home/dock/downloads:/usr/downloads:ro ubuntu64 /bin/bash

docker还提供了一种高级的用法。叫数据卷。

数据卷:“其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的”。感觉像是由一个容器定义的一个数据挂载信息。其他的容器启动可以直接挂载数据卷容器中定义的挂载信息。

看示例:

docker run -v /home/dock/downloads:/usr/downloads --name datavol ubuntu64 /bin/bash

创建一个普通的容器。用--name给他指定了一个名(不指定的话会生成一个随机的名子)。

再创建一个新的容器,来使用这个数据卷。

docker run -it --volumes-from datavol ubuntu64 /bin/bash

--volumes-from用来指定要从哪个数据卷来挂载数据。

二、docker 安装在哪个目录下

你是说 docker container安装在宿主机的那个位置吗?一般是/var/lib/docker/container这样的目录。

三、如何查看docker挂载的目录

1.--privileged=true改为--privileged试试;2.另外在容器内部可以试试命令前加上sudo

四、docker 可以映射 nfs 的本地目录到容器内部进行共享么

可以的,docker只管映射到本地目录,至于本地目录又nfs到了其他机器它是感知不到的。

五、Docker网站目录是挂载方式好还是拷贝进容器好

把nginx和php作为两个容器,代码另外放在volume,分别供php和nginx两者挂载

好处:代码更新灵活

坏处:感觉这作为一个服务来说很“山寨”(可以和Java/NodeJS的服务类比一下);另外,如果你用到了composer,依赖部分无法在制作镜像中过程中自动化安装

把nginx作为一个容器,php和代码放在另一个容器,但其中代码目录也需要供nginx挂载

好处:相比1,可以把composer放入PHP容器中,制作镜像时帮你安装依赖

坏处:作为服务依然很“山寨”

把nginx、php和代码全放入同一个容器

好处:更符合微服务的定义,整体对外构成一个服务;nginx和php之间可以直接用unix socket通信

坏处:除了灵活性之外,不太符合Docker官方一个容器只跑一个服务的建议

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门