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 目录到容器的 /opt/webapp目录。这个功能在进行测试的时候十分方便,比如用户可以放置一些程序到本地目录中,来查看容器是否正常工作。本地目录的路径必须是绝对路径,以前使用 -v 参数时如果本地目录不存在 Docker 会自动为你创建一个文件夹,现在使用 --mount 参数时如果本地目录不存在,Docker 会报错

[[email protected] ~]# docker run -d -P  --name web -v /src/webapp:/opt/webapp:ro --mount type=bind,source=/src/webapp,target=/opt/webapp,readonly  training/webapp    python app.py

加了 readonly 之后,就挂载为 只读 了。如果你在容器内 /opt/webapp 目录新建文件,会显示如下错误

[[email protected] ~]# /opt/webapp # touch new.txt
touch: new.txt: Read-only file system

查看数据卷的具体信息

[[email protected] ~]# docker inspect web

挂载一个本地主机文件作为数据卷

[[email protected] ~]# docker run --rm -it -v $HOME/.bash_history:/root/.bash_history --mount type=bind,source=$HOME/.bash_history,target=/root/.bash_history ubuntu:18.04 bash

 

原文地址:https://www.cnblogs.com/guogle/p/11018823.html

时间: 2024-10-08 04:33:10

6.12 docker(二)挂载主机目录的相关文章

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使用-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

Docker挂载主机目录Docker访问出现Permission denied的解决办法

Docker挂载主机目录,访问相应的文件出现Premission denied的权限访问问题, [[email protected] soft]# docker images REPOSITORY                 TAG                 IMAGE ID                  CREATED SIZE docker.io/centos            7.2.1511           686672a1d0cc               5

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 ubuntu

转: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 /

ubuntu 12.04不能mount nfs目录与挂载后只读不能写问题 (转载)

转自:http://blog.chinaunix.net/uid-20680966-id-3810455.html 服务器用的是fedora 12  以前在helper2416开发板上挂载服务器上的nfs目录读写都没有问题 服务器上的 /etc/exports /opt/target     *(rw,async,no_root_squash) 今天虚拟机装了个ubuntu12.04 64bit版,不能mount,提示什么access denied ,在/etc/exports下  ()中加in

十二周二次课 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.

十二周二次课 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向 原文地址:http://blog.51cto.com/wbyyy/2087031

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}

Wamp配置虚拟主机目录(二)

之前写过一篇wamp配置虚拟主机目录的文章,详情见 Wamp配置虚拟主机目录,但是最近不知道什么原因,本地环境下使用这种方式无法访问到对应的目录了,百思不得其解的情况下,换了一种方式. 参考前面的文章的步骤. 将httpd.conf开启虚拟主机配置 Include conf/extra/httpd-vhosts.conf 配置httpd-vhosts.conf文件 将原来的内容删除,添加本地根目录 <VirtualHost *:80> ServerAdmin [email protected]