Docker学习---挂载本地目录

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用来指定要从哪个数据卷来挂载数据。

时间: 2024-08-12 02:33:24

Docker学习---挂载本地目录的相关文章

转:Docker学习---挂载本地目录

原文: http://my.oschina.net/piorcn/blog/324202 docker可以支持把一个宿主机上的目录挂载到镜像里 docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash 通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径. 现在镜像内就可以共享宿主机里的文件了. 默认挂载的路径权限为读写.如果指定为只读可以用:ro docker run -it -v /

Docker中运行nginx并挂载本地目录到镜像中

1.1 从hup上pull镜像1.2 创建将要挂载的目录1.3 先要有配置文件才能启动容器1.3.1 vim /data/nginx/conf/nginx.conf1.3.2 vim /data/nginx/conf.d/default.conf1.4 启动容器1.5 查看启动的容器1.6 网页访问nginx 1.1 从hup上pull镜像# docker pull nginx 1.2 创建将要挂载的目录# mkdir -p /data/nginx/{conf,conf.d,html,logs}

利用阿里云镜像构建mysql数据库并挂载本地目录

docker构建mysql镜像,在mysql下创建data数据库,将其挂载到本地物理机磁盘目录,删除mysql容器后,可以在本地目录找到对应数据库 docker image命令查看本地镜像 创建名为mysql1的容器并运行它,将物理机/data目录挂载到mysql1容器的数据库存储位置/var/lib/mysql 安装mysql-server服务 启动mysql服务 查看默认数据库 创建cs数据库 查看镜像本地数据库存储看cs文件夹是否创建 删除mysql1容器 查看物理机/data存储看cs文

6.12 docker(二)挂载主机目录

挂载主机目录 挂载一个主机目录作为数据卷 [[email protected] ~]# mkdir -p /src/webapp[[email protected] ~]# docker run -d -P --name web -v /src/webapp:/opt/webapp --mount type=bind,source=/src/webapp,target=/opt/webapp training/webapp python app.py 上面的命令加载主机的 /src/webapp

docker 容器挂载主机目录,访问出现 cannot open directory /mnt/home/webroot/: Permission denied 的解决办法

问题原因及解决办法 原因是CentOS7中的安全模块selinux把权限禁掉了,至少有以下三种方式解决挂载的目录没有权限的问题: 1.在运行容器的时候,给容器加特权,及加上 --privileged=true 参数: docker run -i -t -v /soft:/soft --privileged=true 686672a1d0cc /bin/bash 2.临时关闭selinux: setenforce 0 3.添加selinux规则,改变要挂载的目录的安全性文本

Docker挂载本地目录

Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定.  比如启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定:docker run -it -v /test:/soft centos /bin/bash  这样在容器启动后,容器内会自动创建/soft的目录. 注意:  容器目录不可以为相对路径,必须以下斜线“/”开头.宿主机的目录最好也是绝对路径.  挂载宿主机已存在目录后,在容器内对其进行操作,报“Permission de

docker学习-构建本地Registry

保存和分发镜像的最直接的方法就是使用Docker H u b,它是Docker公司维护的公共Regsitry,用户可以将自己的镜像保存到Docker H u b 免费的repository中.如果不希望别人访问自己的镜像,也可以购买私有repository.一般我们可以使用Docker H u b上传和下载镜像,虽然十分方便,但是还是有些限制,比如:1.需要外网连接,而且上传和下载速度慢2.上传到Docker H u b 的镜像任何人都能够访问,虽然可以用私人repositroy,但不是免费的3

win10通过Docker Toolbox安装docker及配置文件共享挂载本地磁盘目录

1.下载软件软件下载地址: http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/选择合适的版本,本次实验以下图为例:下载完成双击运行程序安装完成桌面会出现以下三个图标:双击"Docker Quickstart Terminal"弹出页面会显示正在下载boot2docker.iso镜像文件由于资源在github上,下载会非常非常慢,这里已经下载下来通过云盘共享一下(永久有效): 链接:https://pan.ba

Docker使用-v挂载主机目录到容器后出现Permission denied

1. 在挂载主机目录的到容器后,操作挂载的目录出现权限问题: # 将主机上的/data/share/master目录挂载到容器的/opt/share目录docker run -it --name=master --hostname=master -v /data/share/master:/opt/share centos-hadoop /bin/bash [[email protected] share]# pwd #进入挂载目录 /opt/share [[email protected] s