当前位置: 首页 > 知识库问答 >
问题:

在Windows 10 Home上,ddev start未启动-无法为服务数据库创建容器:类型“bind”的装载配置无效

陈嘉荣
2023-03-14

今天,我试图在一个朋友的捏造机上设置ddev:

OS Windows 10 Home Docker Toolbox-全新安装Docker Toolbox快速入门-

BIOS-

德鲁德德夫为Windows 10全新安装的德德夫配置工作。

snowm@ThomasWin10HP MINGW64 /c/Data3/test $ ddev 启动测试...正在创建 ddev-test-db ...错误

错误:对于ddev-test-db,无法为服务db创建容器:类型“bind”的装载配置无效:bind装载源路径不存在:/c/Data3/test/。ddev

错误:对于数据库,无法为服务数据库创建容器:类型“bind”的装载配置无效:bind装载源路径不存在:/c/Data3/test/。ddev在启动项目时遇到错误。创建ddev-test-db...错误

错误:对于ddev-test-db,无法为服务db创建容器:类型“bind”的装载配置无效:bind装载源路径不存在:/c/Data3/test/。ddev

错误:for db无法为服务db创建容器:类型“bind”的装载配置无效:bind装载源路径不存在:/c/Data3/test/。ddev在启动项目时遇到错误。'

但对于舒尔来说,路径是存在的-(

我们阅读了以下内容(与 Docker 共享驱动器),但看起来 docker 工具箱项目没有此 GUI:类型“bind”的挂载配置无效:尝试在 Windows 版 Docker 上运行容器时,绑定源路径不存在

config.yaml看起来像这样:

APIVersion: v1.2.0
Name: test
type: typo3
docroot: www
php_version: "7.2"
webserver_type: nginx-fpm
router_http_port: "80"
router_https_port: "443"
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
provider: default

docker-compose.yaml长这样

version: '3.6'
#ddev-generated
services:
  db:
    container_name: ddev-${DDEV_SITENAME}-db
    image: $DDEV_DBIMAGE
    stop_grace_period: 60s
    volumes:
      - type: "volume"
        source: mariadb-database
        target: "/var/lib/mysql"
        volume:
          nocopy: true
      - type: "bind"
        source: "${DDEV_IMPORTDIR}"
        target: "/db"
      - type: "bind"
        source: "."
        target: "/mnt/ddev_config"
    restart: "no"
    user: "$DDEV_UID:$DDEV_GID"
    ports:
      - "3306"
    labels:
      com.ddev.site-name: ${DDEV_SITENAME}
      com.ddev.platform: ddev
      com.ddev.app-type: typo3
      com.ddev.approot: $DDEV_APPROOT
      com.ddev.app-url: $DDEV_URL
    environment:
      - COLUMNS=$COLUMNS
      - LINES=$LINES
    command: "$DDEV_MARIADB_LOCAL_COMMAND"
  web:
    container_name: ddev-${DDEV_SITENAME}-web
    image: $DDEV_WEBIMAGE
    volumes:
      - "../:/var/www/html:cached"
      - ".:/mnt/ddev_config:ro"
    restart: "no"
    user: "$DDEV_UID:$DDEV_GID"
    depends_on:
      - db
    links:
      - db:db
    # ports is list of exposed *container* ports
    ports:
      - "80"
      - "8025"
    working_dir: /var/www/html/${DDEV_DOCROOT}
    environment:
      - DDEV_URL=$DDEV_URL
      - DOCROOT=$DDEV_DOCROOT
      - DDEV_PHP_VERSION=$DDEV_PHP_VERSION
      - DDEV_WEBSERVER_TYPE=$DDEV_WEBSERVER_TYPE
      - DDEV_PROJECT_TYPE=$DDEV_PROJECT_TYPE
      - DDEV_ROUTER_HTTP_PORT=$DDEV_ROUTER_HTTP_PORT
      - DDEV_ROUTER_HTTPS_PORT=$DDEV_ROUTER_HTTPS_PORT
      - DDEV_XDEBUG_ENABLED=$DDEV_XDEBUG_ENABLED
      - DEPLOY_NAME=local
      - VIRTUAL_HOST=$DDEV_HOSTNAME
      - COLUMNS=$COLUMNS
      - LINES=$LINES
      # HTTP_EXPOSE allows for ports accepting HTTP traffic to be accessible from <site>.ddev.local:<port>
      # To expose a container port to a different host port, define the port as hostPort:containerPort
      - HTTP_EXPOSE=${DDEV_ROUTER_HTTP_PORT}:80,8025
      # You can optionally expose an HTTPS port option for any ports defined in HTTP_EXPOSE.
      # To expose an HTTPS port, define the port as securePort:containerPort.
      - HTTPS_EXPOSE=${DDEV_ROUTER_HTTPS_PORT}:80
    labels:
      com.ddev.site-name: ${DDEV_SITENAME}
      com.ddev.platform: ddev
      com.ddev.app-type: typo3
      com.ddev.approot: $DDEV_APPROOT
      com.ddev.app-url: $DDEV_URL
    extra_hosts: ["unneeded:127.0.0.1"]
  dba:
    container_name: ddev-${DDEV_SITENAME}-dba
    image: $DDEV_DBAIMAGE
    restart: "no"
    labels:
      com.ddev.site-name: ${DDEV_SITENAME}
      com.ddev.platform: ddev
      com.ddev.app-type: typo3
      com.ddev.approot: $DDEV_APPROOT
      com.ddev.app-url: $DDEV_URL
    depends_on:
      - db
    links:
      - db:db
    ports:
      - "80"
    environment:
      - PMA_USER=db
      - PMA_PASSWORD=db
      - VIRTUAL_HOST=$DDEV_HOSTNAME
      # HTTP_EXPOSE allows for ports accepting HTTP traffic to be accessible from <site>.ddev.local:<port>
      - HTTP_EXPOSE=8036
networks:
  default:
    external:
      name: ddev_default
volumes:
  mariadb-database:
    name: "${DDEV_SITENAME}-mariadb"

溶液:

我们删除了所有内容(~/.ddev~/.docker等),卸载了docker工具箱、ddev和虚拟框,这一次严格按照以下“一步一步”执行:

>

  • FIRST在bios设置中启用虚拟化
  • 然后将docker Toolbox安装为ADMIN,并让Docker Toolbox也安装带有ndis网络驱动程序的Virtual albox(最后一个复选框)
  • 等待,同时什么也不做,以确保看到ACL-问题
  • 以管理员身份启动虚拟盒(现在创建了网络适配器)
  • RESTART Windows,一切正常启动
  • 安装ddev als管理员,让他创建快捷方式并将自己添加到windows路径
  • 启动docker快速入门终端并让docker Toolbox创建默认虚拟容器
  • 切换到用户主目录

    CD ~ mkdir web CD web mkdir testdomain CD testdomain ddev start

    多亏了fray,正如他所暗示的,ddev项目必须在用户主页目录下,这是它不起作用的主要原因。

    也许上面的一个或多个步骤并不重要,但由于它现在正在运行,我将让它保持原样:-)

  • 共有2个答案

    栾烨华
    2023-03-14

    在Docker Toolbox上,如果没有额外的配置,就不能在主目录之外挂载路径。在默认配置中,只有主目录是共享的。您正在尝试挂载主目录之外的< code>/c/Data3/test。

    如果您需要在homedir之外工作,快速谷歌“如何在docker工具箱上的主目录之外安装”将引导您找到 http://support.divio.com/local-development/docker/how-to-use-a-directory-outside-cusers-with-docker-toolboxdocker-for-windows 等链接,这些链接解释了如何使用Virtualbox UI共享额外的路径。

    班建义
    2023-03-14

    您是否安装了防火墙或防病毒软件?有时会阻止将驱动器安装到docker中。转到Docker服务的设置,尝试在“共享驱动器”菜单下手动安装驱动器。

    我遇到了卡巴斯基防病毒软件阻止访问共享驱动器的问题。如果您有同样的问题,您可以尝试这样做:

    以管理员身份打开powershell并使用以下命令:

    Get-NetConnectionProfile -InterfaceAlias "vEthernet (DockerNAT)"
    

    如果NetworkCategory设置为Public,请将其设置为Private:

        Set-NetConnectionProfile -InterfaceAlias "vEthernet (DockerNAT)" -NetworkCategory Private
    

    现在您必须修改docker接口的ip地址。转到系统设置并选择网络中心。单击“v以太网(DockerNat)”-

    免责声明:我以前在我的德国视窗10机器上使用过。我直接翻译了菜单项,因为我切换到Linux,看不到菜单项的真实名称。

     类似资料:
    • 当我试图启动SpringBoot主应用程序时,出现以下异常。为什么我会得到这个特例。 异常: Spring boot主java类

    • 我正在关注应用程序中的条目。 我有下面的spring云服务器应用程序代码。 我收到以下错误。 启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2021 02月24日01:39:52.356错误20804---[restartedMain]o.s.b.d.LoggingFailureAnalysisReporter: 应用程序无法启动 描述:

    • 我尝试在英国西部地区创建一个Azure服务容器。我经历了所有的步骤没有问题,但是一旦我点击创建后,我遇到了几分钟: 所提供的位置ukWest不适用于资源类型Microsoft。容器服务/容器服务。资源类型的可用区域列表是“日本东部、中部、东部2、日本西部、东部、南部、澳大利亚东部、澳大利亚东部、巴西南部、南部、西部、北部、西部、西部、北部、北部、北部、北部、东部”。 好吧,我意识到这是我的错误,于

    • Payara错误 连接池 资源 本地数据库 https://pastebin.com/QSKEL0Kd 我用mysql workbench在localhost上创建了一个数据库,用户:root,端口:3306,密码正确。当我输入localhost时,我也检查了两次,但没有工作

    • 我刚刚安装了weblogic server和OSB的新副本。在快速启动屏幕上成功安装weblogic 10.3.6后,我尝试配置域。但是,屏幕没有进一步处理,下面的屏幕截图中出现了错误。 此外,在eclipse中,当我尝试添加服务器时,它会提示我创建一个域,但这也不起作用。我在控制台中遇到的错误是:

    • 获取以下代码的错误 我得到的输出错误是