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

如何使用docker-compose挂载主机目录,并在运行主机时指定"~/path/on/ host“,而不是在docker-compose文件中

使用docker-compose挂载主机目录,并在运行主机时指定"~/path/on/host",而不是在docker-compose文件中,可以通过以下步骤实现:

  1. 确保已经安装了Docker和Docker Compose,并且已经配置好了环境变量。
  2. 创建一个docker-compose.yml文件,并在该文件中定义你的服务和挂载的主机目录。示例docker-compose.yml文件如下:
代码语言:txt
复制
version: '3'
services:
  myapp:
    image: your_image_name
    volumes:
      - ~/path/on/host:/path/in/container

在上述示例中,your_image_name是你要运行的镜像名称,~/path/on/host是你要挂载的主机目录,/path/in/container是容器内的目录。

  1. 打开终端或命令提示符,进入包含docker-compose.yml文件的目录。
  2. 运行以下命令启动服务:
代码语言:txt
复制
docker-compose up

这将会根据docker-compose.yml文件中的定义,创建并启动你的服务。同时,主机目录~/path/on/host将会被挂载到容器内的/path/in/container目录。

请注意,~/path/on/host是主机上的绝对路径,而不是相对于docker-compose.yml文件的路径。如果你想使用相对路径,可以使用相对于docker-compose.yml文件的相对路径。

此外,如果你想在运行主机时指定主机目录,可以使用以下命令:

代码语言:txt
复制
docker-compose run -v ~/path/on/host:/path/in/container myapp

上述命令中,myapp是你在docker-compose.yml文件中定义的服务名称。这将会创建一个临时的容器,并挂载主机目录~/path/on/host到容器内的/path/in/container目录。

以上就是使用docker-compose挂载主机目录,并在运行主机时指定"~/path/on/host"的方法。通过这种方式,你可以方便地将主机上的目录挂载到Docker容器中,实现数据共享和持久化存储。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Dockerfile、Docker-Compose基本命令与介绍

指定一个环境变量,会被后续 RUN 指令使用并在容器运行时保持。...ADD 赋值指定的路径下的内容到容器的路径下,可以为URL;如果为tar文件,会自动解压到路径下 相当于 COPY,但是比 COPY 功能更强大 COPY 赋值本地主机的路径下的内容到容器的路径下;...一般情况下推荐使用COPY不是ADD 复制本地主机的 (为 Dockerfile 所在目录的相对路径)到容器的。...VOLUME 创建数据挂载挂载目录,格式为VOLUME ["/data"] USER 指定运行容器时的用户名或UID WORKDIR 配置工作目录 指定当前工作目录,相当于 cd ARG 指定镜像内使用的参数...volumes 挂载一个目录或者一个已存在的数据卷容器,可以直接使用 [HOST:CONTAINER] 这样的格式,或者使用 [HOST:CONTAINER:ro] 这样的格式,后者对于容器来说,数据卷是只读的

1.8K20
  • 3. docker-compose实战--ghost app

    他依赖的环境是nginx, 也就是nginx运行, 使用的数据库是mysql数据库. 这个项目做好了以后, 我们就可以拥有自己的博客平台了....创建项目文件夹ghost 首先准备一个项目文件夹ghost, 并在文件夹下面准备三个目录 ghost, nginx, data ghost: 用来存放拉取的ghost镜像文件 nginx:用来存放pull...下来的nginx镜像文件 data: 挂载到mysql镜像上的数据库目录 ?...准备一个docker-compose文件, 这个文件就是描述系统的架构的 version : '2' // 因为docker-compose发展的工具, 他的语法有第一版和第二版, 我们这里使用的语法是第二版...->因为docker-compose发展的工具, 他的语法有第一版和第二版, 我们这里使用的语法是第二版 build: ghost --> 这个服务是怎么来的呢?

    1.5K10

    Docker入门学习

    同理nginx容器,我们可以把config目录做一个数据卷,我们只需要改动宿主机目录的配置文件即可,非常快捷 Docker使用-v参数来创建数据卷。...这个命令会将宿主机上的 目录映射到容器内的。如果目录不存在,则会自动创建。...系统中使用数据卷,需要使用反斜杠(\)不是斜杠(/)。...新容器可以使用容器内的数据卷,并将其挂载到本地主机上的 /host/data 目录和容器的 /container/data 目录。...ADD 将文件目录添加到容器 COPY 将文件目录复制到容器 VOLUME 创建一个挂载点,可以容器挂载宿主机目录 USER 指定容器运行命令的用户 WORKDIR 指定容器命令的工作目录

    14710

    Docker--compose学习

    Compose是用来定义和运行多容器应用实例的,通过一个YAML文件,我们可以轻松配置所有的容器,并且通过一个简单的命令,来根据配置文件创建并运行所有的容器 ---- 如何使用Compose ?...be run together in an isolated environment.docker-compose.yml配置文件配置所有服务,确保他们都可以一个关联环境中被运行起来 Run...---- container_name 指定一个自定义容器名称,不是生成的默认名称。...可以设置宿主机路径 (HOST:CONTAINER) 或加上访问模式 (HOST:CONTAINER:ro),挂载数据卷的默认权限是读写(rw),可以通过ro指定为只读。...你可以主机挂载相对路径,该路径将相对于当前正在使用的Compose配置文件目录进行扩展。 相对路径应始终以 . 或者 … 开始。

    1.3K20

    2.Docker学习之基础使用

    config.php拷贝到容器 Q:如何挂载主机目录/文件作为数据卷?...--volumes-from参数所挂载数据卷的容器自身并不需要保持运行状态 # 修改目录其中任何一个文件,其他容器的该目录都会改变 $ sudo docker run -d --name db2 -...配置selinux标签如果使用selinux,可以添加z或z选项来修改挂载到容器主机文件目录的selinux标签 #:z选项 表示绑定挂载内容多个容器之间共享。...,如果直接挂载一个文件到容器使用文本编辑工具时候可能会报错; 可以多次使用–volumes-from参数从来多个容器挂载多个数据卷;锁挂载的容器自身并不需要保持在运行状态 推荐使用数据卷和数据容器之外的物理备份存储系统...实际案例: 建议目录建立Dockerfile与docker-compose.yml,并运行docker-compose运行的时候建议Dockerfile与docker-compose.yml 当前目录运行

    2.2K30

    Docker 基础与实践

    Docker 简介 我们所开发的服务往往以二进制的方式运行在操作系统 Docker 是一种容器技术,将我们的应用程序及相关依赖打包在一个容器,容器往往是基于一个较为轻量级的 Linux 镜像,是多层镜像的堆叠...因此,我们需要进行数据的持久化,我常用 host 挂载与 container 挂载两种方式。...我们可以通过将宿主机的某个具体的目录挂载映射至容器内的目录来实现持久化: # 通过宿主机目录挂载容器内目录 docker run -v : 如果只是需要挂载,不需要对文件进行具体的管理查看等,我们也可以通过 container 匿名挂载的方式,不指定 volume 名称,而使用其自动生成的目录: # Docker...具体的 services ,image 表示镜像名称,ports 表示端口映射,volumes 表示文件挂载,environment 表示环境变量,更多配置可以根据项目需要进行查看。

    91620

    Docker Compose安装与配置文件详解

    :/composeapp –link redis:redis –name web 6.运行 Compose docker-compose up 项目目录,通过 docker-compose up..../ dockerfile: path/of/Dockerfile 注意 build 都是一个目录,如果你要指定 Dockerfile 文件需要在 build 标签的子级标签中使用 dockerfile...docker-compose up web 这样的方式启动 web 服务时,也会启动 redis 和 db 两个服务,因为配置文件定义了依赖关系。...容器使用这个标签将能够访问和操纵其他容器和宿主机的名称空间。 18. ports 映射端口的标签。 使用HOST:CONTAINER格式或者只是指定容器的端口,宿主机会随机映射端口。...stop_signal: SIGUSR1 21. volumes 挂载一个目录或者一个已存在的数据卷容器,可以直接使用 [HOST:CONTAINER] 这样的格式,或者使用 [HOST:CONTAINER

    2.4K20

    除了k8s,docker-compose编排容器也是个不错的选择

    docker-compose使用yum即可安装,真正的难点是如何编写docker-compose的yaml配置文件,其实这个文件和Dockerfile大同小异,掌握了语法就能轻松的编写,不过要注意的是:...- host_path:container_path # 共享文件夹 networks: # 连接的网络 - network_name depends_on: #...ports: 指定容器和主机之间的端口映射,格式为 host_port:container_port。environment: 设置环境变量,可以使用键值对的格式。...volumes: 配置数据卷,用于持久化数据,格式为 host_path:container_path。networks: 指定服务连接的网络,可以自定义网络名称。...首先创建一个项目目录目录下新建一个docker-compose.yaml文件,其中nginx使用80端口,tomcat使用8080端口。

    17820

    Docker-Compose的一些常用命令

    Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。...删除服务没有compose文件定义的容器 –scale SERVICE=NUM 设置服务运行容器的个数,将覆盖compose通过scale指定的参数 docker-compose up 启动所有服务..../ dockerfile: path/of/Dockerfile build都是一个目录,如果要指定Dockerfile文件需要在build标签的子级标签中使用dockerfile标签指定。...使用HOST:CONTAINER格式或者只是指定容器的端口,宿主机会随机映射端口。...,可以直接使用 [HOST:CONTAINER]格式,或者使用[HOST:CONTAINER:ro]格式,后者对于容器来说,数据卷是只读的,可以有效保护宿主机文件系统。

    18.4K63

    Docker与Docker Compose入门:释放你的应用部署的威力

    容器是轻量级的,它们共享主机操作系统的内核,因此可以更高效地运行多个容器。 Dockerfile :Dockerfile 是一个文本文件,用于定义如何构建 Docker 镜像。...:根据指定的镜像创建并运行一个容器。OPTIONS 可以包括端口映射、数据卷挂载、环境变量设置等。...使用 Dockerfile 可以让开发者清晰地记录应用程序的配置和依赖,以及保证应用程序不同的环境运行的一致性。...实际开发,一个应用程序通常不是单独运行的,而是需要与其他服务(例如数据库、缓存、消息队列等)进行交互。...up 命令后常跟 -d 选项,用于后台运行应用程序,不是命令行显示日志输出。

    87120

    Docker-compose部署Django项目笔记

    即宿主机当前目录和容器的 /code 目录是连通的,宿主机当前目录的 Django 代码更新时,容器的 /code 目录的代码也相应的更新了。...:/code 并不是卷,而是叫挂载,它两是有区别的,只不过 docker-compose 允许将挂载写到卷的配置。...它的使用方式像这样:static-volume:/code/collected_static ,冒号后面还是容器内的目录,但冒号前的却不是宿主机目录、仅仅是卷的名称而已。...相比挂载,数据卷的优点是由于是 Docker 统一管理的,不存在由于权限不够引发的挂载问题,也不需要在不同服务器指定不同的路径;缺点是它不太适合单配置文件的映射。...STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static') STATIC_URL = '/static/' 部署 运行命令docker-compose

    1.1K30

    《Docker极简教程》--Docker的高级特性--Docker Compose的使用

    通常情况下,Linux用户可以将Docker Compose可执行文件复制到PATH目录,macOS用户可以使用Homebrew来安装,Windows用户可以下载并运行安装程序。...指定服务: docker-compose up service_name 指定要启动的服务名称,不是启动所有服务。可以同时指定多个服务,用空格分隔。...移除指定服务: docker-compose down service_name 指定要停止和移除的特定服务,不是停止和移除所有服务。可以同时指定多个服务,用空格分隔。...显示指定服务的容器: docker-compose ps service_name 指定要显示的特定服务的容器,不是显示所有服务的容器信息。...创建静态网站文件项目目录创建一个名为 html 的文件夹,并在其中添加你的静态网站文件,比如 index.html。

    49810

    再见了Jenkins,一款更轻量级的持续集成工具!

    Drone 通过使用简单的 YAML 配置文件,就可以轻松的定义出一条流水线,并且每一个构建操作都是一个临时的 Docker 容器执行,能够完全控制其构建环境并保证隔离。...通过Compose,可以使用YAML文件来配置应用程序需要的所有服务,然后使用一个命令即可从YML文件配置创建并启动所有服务 首先到 Github release中下载我们的 docker-compose...host: path: /root/hello-mogu #jar包目录可以修改从宿主机挂载目录 这里使用了 build-package 的镜像进行构建,里面包含了 Java...同时,为了方便将构建好的 Jar 包挂载出来,我们使用了 volumes ,需要指定容器内的地址 以及 挂载到宿主机的位置 将修改后的代码推送到 Gitee ,可以看到流水线正常运行,并且开始下载依赖进行构建...host: path: /root/hello-mogu #jar包目录可以修改从宿主机挂载目录 核心操作就是: jar 打包完成后,会通过 ssh 进入到我们服务器

    5.3K43

    2.Docker学习之基础使用

    --volumes-from 标记来创建一个加载 dbdata 容器卷的容器,并从主机挂载当前目录到容器的 /backup 目录 #容器启动后,使用了 tar 命令来将 dbdata 卷备份为容器 /...dbdata2 容器卷的数据卷,并使用 untar 解压备份文件挂载的容器卷。...实际案例: 建议目录建立Dockerfile与docker-compose.yml,并运行docker-compose运行的时候建议Dockerfile与docker-compose.yml 当前目录运行...,还可以基于一份 Dockerfile,使用 up 启动之时执行构建任务,这个构建标签就是 build,它可以指定 Dockerfile 所在文件夹的路径 build:/path/to/build...,使用HOST:CONTAINER格式或者只是指定容器的端口,宿主机会随机映射端口。

    2.4K20

    docker微服务初体验

    指定一个环境变量,会被后续 RUN 指令使用并在容器运行时保持。...复制本地主机的 (为Dockerfile所在目录的相对路径)到容器的 。 当使用本地目录为源目录时,推荐使用 COPY 。..../ dockerfile: path/of/Dockerfile 注意 build 都是一个目录,如果你要指定 Dockerfile 文件需要在 build 标签的子级标签中使用 dockerfile...容器使用这个标签将能够访问和操纵其他容器和宿主机的名称空间。 18. ports 映射端口的标签。 使用HOST:CONTAINER格式或者只是指定容器的端口,宿主机会随机映射端口。...stop\_signal: SIGUSR1 21. volumes 挂载一个目录或者一个已存在的数据卷容器,可以直接使用 HOST:CONTAINER 这样的格式,或者使用 HOST:CONTAINER

    2.3K80

    附003.Docker Compose命令详解

    HOST #守护进程连接至某主机 13 14 --tls #使用TLS证书 15 --tlscacert CA_PATH...#不要根据客户端证书中指定的名称检查守护进程的主机名 20 --project-directory PATH #指定一个用于替换默认的项目目录,默认为Compose file所在目录 21...如果Compose文件指定镜像名称,则使用该名称标记镜像。 若更改服务的Dockerfile或其构建目录的内容,可运行docker-compose build以重建它。...默认情况下,删除的内容为: Compose文件定义的服务的容器 Compose文件networks部分定义的网络 默认网络(如果使用) 外部定义的网络和卷永远不会被删除。...13 -t, --timeout TIMEOUT #创建容器或启动容器的超时时间,默认10秒 14 -V, --renew-anon-volumes #重新创建匿名卷,不是使用之前容器已经存在的卷

    2.2K30

    《前端运维》三、Docker--2其他

    指定挂载的数据卷的源文件名字是nginx-vol。...3、指定数据盘   我们先创建个mnt的目录并在其中创建个hello.html文件:    然后我们执行这样的命令: docker run -v ~/mnt:/mnt -it --name logs...host意味着容器不会虚拟自己的网卡,分配ip等,而是使用宿主机的端口和ip,bridge模式会给每一个容器分配一个ip。...另外,host模式,启动的时候要注意端口占用的问题,也就是宿主机启动了一个nginx,占用了80端口,那么,此时你是无法通过host模式启动容器的。...compose的配置文件通过services来定义,然后使用docker-compose脚本来启动、停止和重启应用和应用的服务以及所有依赖服务的容器。

    72320
    领券