指出我们需要-6ren">
gpt4 book ai didi

docker - 在 Windows 10 Home ddev 启动未启动 - 无法为服务 db : invalid mount config for type "bind" 创建容器

转载 作者:行者123 更新时间:2023-12-02 20:46:25 29 4
gpt4 key购买 nike

今天我尝试在 friend 的机器上设置 ddev:

操作系统 Windows 10 家庭版
Docker 工具箱 - 全新安装
Docker Toolbox Quickstart -> 指出我们需要启用虚拟化

BIOS -> 虚拟化 -> isEnabled
Docker 工具箱快速入门运行。

全新安装的 windows 10 的 druds ddev
ddev 配置
作品。

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

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

但为了确保路径存在。 :-(

我们阅读了这篇文章(与 docker 共享驱动器),但看起来 docker 工具箱项目没有这个 GUI:
Invalid mount config for type "bind": bind source path does not exist when trying to run container on Docker for Windows

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 和虚拟机,这一次完全按照“逐步”进行操作:
  • 首先在 BIOS 设置中启用虚拟化
  • 然后将 docker Toolbox 安装为 ADMIN 并让 Docker Toolbox 也安装带有 ndis 网络驱动程序的 virtualbox(最后一个复选框)
  • 等待,同时什么也不做,以确保看到 ACL - 问题
  • 以管理员身份启动virtualbox(现在网络适配器已创建)
  • RESTART Windows 一切正常启动
  • 安装ddev als Administrator,让他创建快捷方式并将自己添加到windows路径
  • 启动 docker quickstart 终端,让 docker Toolbox 创建一个默认的虚拟容器
  • 切换到用户主目录

    光盘~
    mkdir 网站
    光盘网络
    mkdir 测试域
    cd 测试域
    ddev 开始

  • 感谢 fray,正如他的暗示,ddev 项目必须在用户主目录下是它不起作用的主要原因。

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

    最佳答案

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

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

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

    Get-NetConnectionProfile -InterfaceAlias "vEthernet (DockerNAT)"

    如果 NetworkCategory 设置为 Public,请将其设置为 Private:
        Set-NetConnectionProfile -InterfaceAlias "vEthernet (DockerNAT)" -NetworkCategory Private

    现在您必须修改 docker 接口(interface)的 IP 地址。转到系统设置并选择网络中心。单击“vEthernet (DockerNat)”-> 属性,激活“Internet 协议(protocol),版本 4”,然后单击“属性”。转到“高级”并添加以下 IP 地址 10.0.75.254 和子网掩码 255.255.255.0。

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

    关于docker - 在 Windows 10 Home ddev 启动未启动 - 无法为服务 db : invalid mount config for type "bind" 创建容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52742322/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com