docker运行容器远程挂载卷的方法
docker容器中卷的使用
创建卷,卷本身有多种方式例如下面创建的几种:
下面是官方的基本步骤:
创建一个卷: $ docker volume create my-vol 查看: $ docker volume ls local my-vol 查看卷的详情: $ docker volume inspect my-vol [ { "Driver": "local", "Labels": {}, "Mountpoint": "/var/lib/docker/volumes/my-vol/_data", "Name": "my-vol", "Options": {}, "Scope": "local" } ] 移除卷: $ docker volume rm my-vol
接下来在此基础上需要用到卷驱动,具体步骤如下:
安装vieux/sshfs作为卷驱动
# 卷插件安装 $ docker plugin install --grant-all-permissions vieux/sshfs
创建一个卷
其中sshcmd和password表示远程主机挂载点、和ssh登录密码
docker volume create --driver vieux/sshfs \ -o sshcmd=192.168.5.106:/home/xzg\ -o password=xzg\ sshvolume
使用已有镜像,创建容器
#查看已有镜像: [root@localhost docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest da5939581ac8 7 days ago 108MB #使用本地镜像创建容器 docker run -d \ -it \ --name sshfs-container \ --mount src=sshvolume,target=/app,type=volume,volume-driver=vieux/sshfs\ da5939581ac8
进入容器中查看是否挂载成功
[root@localhost docker]# docker exec -it 228d13ee572a bash root@228d13ee572a:/# ls app bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@228d13ee572a:/# cd app/ root@228d13ee572a:/app# ls a.txt docker
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
详解Docker目录挂载的方法总结
Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定. 譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定: # docker run -it -v /test:/soft centos /bin/bash 这样在容器启动后,容器内会自动创建/soft的目录.通过这种方式,我们可以明确一点,即-v参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录. 貌似简单,其实不然,下面我们来验证一下: 一.容器
-
docker基础知识之挂载本地目录的方法
Docker可以支持把一个宿主机上的目录挂载到镜像里. 复制代码 代码如下: docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash 通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径. 现在镜像内就可以共享宿主机里的文件了. 默认挂载的路径权限为读写.如果指定为只读可以用:ro 复制代码 代码如下: docker run -it -v /home/dock/Downloads:/u
-
详解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容器中如何挂载文件系统
前言 感觉最近很多人都在问docker相关的问题,关于怎么操作一个已经启动的docker容器的文件系统,首先我发现这非常困难,因为 mnt的命名空间. 为了登录进入一个已经启动的docker容器,我们需要这么做: 使用nsenter来在临时挂载点上挂载整个docker容器的文件系统. 创建一个特定目录的绑定挂载来当作卷来使用. 卸载临时挂载. 好吧,开始实践. 启动一个名为charlie的docker实例: $ docker run --name charlie -ti ubuntu bash
-
docker运行容器远程挂载卷的方法
docker容器中卷的使用 创建卷,卷本身有多种方式例如下面创建的几种: 下面是官方的基本步骤: 创建一个卷: $ docker volume create my-vol 查看: $ docker volume ls local my-vol 查看卷的详情: $ docker volume inspect my-vol [ { "Driver": "local", "Labels": {}, "Mountpoint": &qu
-
使用Docker将容器目录挂载到主机上的实现方法
目录 一.基本介绍 二.将容器目录挂载到主机 一.基本介绍 这里我们主要介绍 Docker 里的一个命令,叫做 --mount,其本质上来说和 --volume 命令并没有太大区别,因为这两个命令都是用来给容器提供一个挂载目录.唯一的区别便是,容器的挂载类型不同,那么效果也会有所不同. 容器的挂载类型: bind:将宿主机的指定目录挂载到容器的指定目录,以覆盖的形式挂载(这也就意味着,容器指定目录下的内容也会随着消失) volume:在宿主机的 Docker 存储目录下创建一个目录,并挂载到容器
-
docker修改容器配置文件的3种方法总结
目录 run时候已经进行绑定操作 修改未绑定的配置文件 拷贝容器内外的文件操作 修改对外端口等 总结 run时候已经进行绑定操作 在启动容器的时候可以通过 -v双向绑定本地的某文件,这样任意修改哪一个都会同步变化docker run [OPTIONS] IMAGE [COMMAND] [ARG...] -p: 指定端口映射,格式为:主机(宿主)端口:容器端口 –volume , -v: 绑定一个数据卷 -d: 后台运行容器,并返回容器ID: –name=“redis”: 为容器指定一个名称: -
-
详解docker nginx 容器启动挂载到本地
首先nginx容器内部的结构: 进入容器: docker exec -it b511b6049f57 bash 查看容器的结构目录:其实每一个容器就相当于一个独立的系统. root@b511b6049f57:/# ls bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr nginx的结构目录在容器中: 日志位置:/var/log/nginx/ 配置文件位置:/etc/nginx/
-
使用Docker运行Microsoft SQL Server 2017的方法
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText.在文本发布和处理微服务中,我打算使用微软的SQL Server for Linux来做演示,于是也就在自己的docker-compose中加入了MS SQL Server的服务.其实在Docker中运行SQL Server是非常容易的,今天大概做个介绍吧. 启动Microsoft SQL Server 2017容器 下面是我目前WeText案例中用于搭建基础结构服务的docker-compose.yml文件(该文件将来还会变动
-
docker 查看容器的挂载目录操作
只显示Docker容器挂载目录信息 docker inspect --format "{{.Config.Volumes}}" 369a1376f78c 显示Docker容器和物理主机挂载目录信息 方法一 docker inspect -f "{{.Mounts}}" 369a1376f78c 方法二 docker inspect 369a1376f78c | grep Mounts -A 50 补充:Docker 显示某个容器所有的挂载目录 docker insp
-
Docker定制容器镜像的2种方法(推荐)
一.需求 由于在测试环境中使用了docker官网的centos 镜像,但是该镜像里面默认没有安装ssh服务,在做测试时又需要开启ssh.所以上网也查了查资料.下面详细的纪录下.在centos 容器内安装ssh后,转成新的镜像用于后期测试使用. 二.镜像定制 第一种方式(手动修改容器镜像) 1.先下载centos镜像 [root@docker ~]# docker pull centos 2.启动容器并进行配置 启动容器, [root@docker ~]# docker run -it -d --
-
浅谈Docker run 容器处于created状态问题
在最近遇到的一次问题中,有这样一种现象: 系统有一个测试脚本会不断的执行docker run命令来运行容器,在测试过程中发现有一个情况是,有时候容器没有完全被运行到"Up"状态,而是处于"created"状 态,现象十分奇怪. 上环境首先查看了"created"状态的容器,以及dockerd日志: (1) dockerd的日志中只有"post create"请求,但是居然没有收到该容器的"post start&quo
-
Docker端口映射实现网络访问的方法
Docker运行容器之后却发现没IP,没端口,那要如何访问容器呢? 下面我来介绍下docker通过端口映射来实现网络访问 一.从外部访问容器应用 在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的. 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数指定端口映射. 先来说说p和P吧 -p 可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器 -P 它会随机映射一个端口至容器内部开放的网络端口(范围不详,似乎都上万) 先申明
-
Docker 给运行中的容器设置端口映射的方法
一.概念 Docker 端口映射即映射容器内应用的服务端口到本机宿主机器. 二.实现 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过 -P 或 -p 参数两种方式来指定端口映射. 1. 随机映射 使用 -P 参数时,Docker 会随机映射一个端口到内部容器开放的网络端口,如下开启一个 nginx 服务: $ docker run -d -P nginx e93349d539119dc48dc841e117f6388d6afa6a6065b75a5b4aedaf5fb2a051fc
随机推荐
- 在jmeter的beanshell中用java获取系统当前时间的简单实例
- iOS UITextView 首行缩进 撤销输入 反撤销输入的实现代码
- Java8新特性之深入解析日期和时间_动力节点Java学院整理
- 《解剖PetShop》之四:PetShop之ASP.NET缓存
- Bootstrap弹出框(Popover)被挤压的问题小结
- 用javascript关闭本窗口不弹出询问框的方法
- js拼接html注意问题示例探讨
- JavaScript 字符串与数组转换函数[不用split与join]
- C++ 中引用和指针的关系实例详解
- Opencv学习教程之漫水填充算法实例详解
- php实现两个数组相加的方法
- 创建Jersey REST 服务,基于Maven的实现
- SQL2005CLR函数扩展 - 关于山寨索引
- PHP取得一个类的属性和方法的实现代码
- Jquery增加鼠标中间功能mousewheel的实例代码
- JavaScript结合AJAX_stream实现流式显示
- C++ 中回调函数详解及简单实例
- Java的MyBatis+Spring框架中使用数据访问对象DAO模式的方法
- 详解Android中的MVP架构分解和实现
- Cisco路由技术基础知识详解之三