今天,我尝试在朋友的机器上设置ddev:
OS Windows 10 Home Docker Toolbox-全新安装 Docker Toolbox快速入门->指出我们需要启用虚拟化
BIOS->虚拟化-> isEnabled Docker Toolbox快速入门开始运行。
druds ddev Windows 10全新安装 ddev配置 有效。
snowm @ ThomasWin10HP MINGW64 / c / Data3 / test $ ddev开始 正在开始测试... 创建ddev-test-db ...错误
错误:对于ddev-test-db无法为服务db创建容器:类型“绑定”的无效安装配置:绑定安装源路径不存在:/c/Data3/test/.ddev
错误:对于db无法为服务db创建容器:类型“ bind”的无效安装配置:绑定安装源路径不存在:/c/Data3/test/.ddev 在启动项目时遇到错误。 创建ddev-test-db ...错误
错误:对于ddev-test-db无法为服务db创建容器:类型“绑定”的无效安装配置:绑定安装源路径不存在:/c/Data3/test/.ddev
错误:对于db无法为服务db创建容器:类型“ bind”的无效安装配置:绑定安装源路径不存在:/c/Data3/test/.ddev 在启动项目时遇到错误。'
但请确保路径存在。 :-(
我们阅读了此内容(与docker共享驱动器),但看起来像docker toolbox项目没有此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和虚拟框,这次我们完全按照“逐步”进行操作了:
切换到用户主目录
cd〜 mkdir网站 光盘网 mkdir testdomain cd测试域 ddev start
感谢他的提示,ddev项目必须位于用户主目录下,这是其无法正常工作的主要原因。
也许上面的一个或多个步骤并不重要,但是由于它正在运行,所以我将其保留为:-)
答案 0 :(得分:1)
您是否安装了防火墙或防病毒软件?有时会阻止将驱动器装入docker。转到Docker服务的“设置”,然后尝试在“共享驱动器”菜单下手动安装驱动器。
我遇到了卡巴斯基防病毒软件阻止访问共享驱动器的问题。如果您有相同的方法,则可以尝试以下方法:
以管理员身份打开Powershell并使用以下命令:
Get-NetConnectionProfile -InterfaceAlias "vEthernet (DockerNAT)"
如果将NetworkCategory设置为Public,请将其设置为Private:
Set-NetConnectionProfile -InterfaceAlias "vEthernet (DockerNAT)" -NetworkCategory Private
现在,您必须修改docker接口的ip地址。转到系统设置,然后选择网络中心。单击“ vEthernet(DockerNat)”->“属性”,激活“ Internet协议,版本4”,然后单击“属性”。转到“高级”,然后添加带有子网掩码255.255.255.0的愚弄的IP地址10.0.75.254。
免责声明:我以前在我的德语Windows 10计算机上使用过此功能。我直接翻译了菜单项,因为我切换到了Linux,但看不到菜单项的真实名称。
答案 1 :(得分:1)
在Docker Toolbox上,如果没有额外的配置,您将无法在主目录之外安装路径。默认配置中仅共享主目录。您正在尝试挂载位于主目录之外的/c/Data3/test
。
如果您需要在homedir外部工作,那么快速搜索“如何在docker工具箱上安装外部主目录”的Google会带您进入http://support.divio.com/local-development/docker/how-to-use-a-directory-outside-cusers-with-docker-toolboxdocker-for-windows之类的链接,这些链接说明了如何使用Virtualbox UI共享额外的路径。 / p>