相关疑难解决方法(0)

如何在卷中装入单个文件

我试图将一个php应用程序停靠.在dockerfile中我下载了存档,提取它等.

一切正常,但是如果新版本发布,我更新dockerfile我必须重新安装应用程序,因为config.php被覆盖.

所以我认为我可以将文件挂载为卷,就像我对数据库一样.

我尝试了两种方式,包括音量和直接路径.

泊坞窗 - 撰写:

version: '2'
services:
  app:
    build: src
    ports:
      - "8080:80"
    depends_on:
      - mysql
    volumes:
      -  app-conf:/var/www/html/upload
      -  app-conf:/var/www/html/config.php
    environment:
      DB_TYPE: mysql
      DB_MANAGER: MysqlManager

  mysql:
    image: mysql:5.6
    container_name: mysql
    volumes:
      - mysqldata:/var/lib/mysql
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD:
      MYSQL_DATABASE:
      MYSQL_USER:
      MYSQL_PASSWORD:

volumes:
  mysqldata:
  app-conf:
Run Code Online (Sandbox Code Playgroud)

这导致错误:

我用一个给定的路径尝试了它,作为一个装载的音量.

/src/docker/myapp/upload:/var/www/html/upload
/src/docker/myapp/upload:/var/www/html/config.php
Run Code Online (Sandbox Code Playgroud)

但是两种方式都不起作用.使用已安装的卷,我看到上传已创建.

但随后失败了

/var/www/html/config.php \\"导致\\"不是目录\\"\""

如果我用/src/docker/myapp/upload/config.php:/var/www/html/config.php试试

Docker创建上传文件夹,然后创建config.php文件夹.不是文件.

或者还有另一种方法来保持配置?

docker docker-compose

182
推荐指数
10
解决办法
18万
查看次数

在Windows 10上将当前目录挂载为Docker中的卷

描述

我通过Hyper-V在Windows 10上使用Docker版本1.12.5,并希望将容器可执行文件用作当前路径中的命令.我构建了一个运行正常的Docker镜像,但是我在安装当前路径时遇到了问题.我们的想法是创建一个别名并执行一个docker run --rm [...]命令,以便它可以在当前目录中的系统范围内使用.

建立

我有一个驱动器E,文件夹"test",并在那里有一个名为"Windows主机上的文件夹"的文件夹,以显示该命令正在运行.Dockerfile创建目录/data,将其定义为VOLUME和WORKDIR.

E:\test在PowerShell中的当前目录和绝对路径执行多克尔命令,我可以看到的内容E:\test:

PS E:\test> docker run --rm -it -v E:\test:/data mirkohaaser/docker-clitools ls -la
total 0
drwxr-xr-x 2 root root 0 Jan  4 11:45 .
drwxr-xr-x 2 root root 0 Jan  5 12:17 folder on windows host
Run Code Online (Sandbox Code Playgroud)

问题

我想使用当前目录而不是绝对符号.由于不同的错误消息,我无法在卷中使用pwd:

试试($ pwd)

PS E:\test> docker run --rm -it -v ($pwd):/data mirkohaaser/docker-clitools ls -la
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error parsing reference: ":/data" is not a valid repository/tag.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe …
Run Code Online (Sandbox Code Playgroud)

windows docker

84
推荐指数
6
解决办法
7万
查看次数

标签 统计

docker ×2

docker-compose ×1

windows ×1