Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker compose:卷名太短,名称应至少包含两个字母数字字符_Docker_Docker Compose - Fatal编程技术网

Docker compose:卷名太短,名称应至少包含两个字母数字字符

Docker compose:卷名太短,名称应至少包含两个字母数字字符,docker,docker-compose,Docker,Docker Compose,我想创建一个Apache容器并将当前工作目录装载为容器中的卷,因此我有以下代码: volumes: - ${DOCUMENT_ROOT}:/var/www/html ${DOCUMENT\u ROOT}的值是.env文件中的一个点: DOCUMENT_ROOT=. 我的docker compose.yml文件位于我的项目目录的根目录,在我的项目目录中有一个.docker目录 我试了三行: volumes: - .:/var/www/html volumes: - .

我想创建一个Apache容器并将当前工作目录装载为容器中的卷,因此我有以下代码:

volumes:
    - ${DOCUMENT_ROOT}:/var/www/html
${DOCUMENT\u ROOT}的值是
.env
文件中的一个点:

DOCUMENT_ROOT=.
我的
docker compose.yml
文件位于我的项目目录的根目录,在我的项目目录中有一个
.docker
目录

我试了三行:

volumes:
    - .:/var/www/html

volumes:
    - ./:/var/www/html

volumes:
    - ${DOCUMENT_ROOT}:/var/www/html
但我有一个错误:

Creating 7.4.x-webserver ... error ERROR: for 7.4.x-webserver  Cannot
create container for service webserver: b'create .: volume name is too
short, names should be at least two alphanumeric characters'

ERROR: for webserver  Cannot create container for service webserver:
b'create .: volume name is too short, names should be at least two
alphanumeric characters' ERROR: Encountered errors while bringing up
the project. Failed to deploy 'Compose: docker-compose.yml':
`docker-compose` process finished with exit code 1
my
docker compose.yml
文件的内容:

DOCUMENT_ROOT=.
版本:“3”
服务:
网络服务器:
建造:
上下文:./.docker/bin/webserver
容器名称:“7.4.x-webserver”
重新启动:“始终”
端口:
-“${HOST\u MACHINE\u UNSECURE\u HOST\u PORT}:80”
-“${HOST\u MACHINE\u SECURE\u HOST\u PORT}:443”
链接:
-mysql
卷数:
-${DOCUMENT\u ROOT}:/var/www/html
-${PHP_INI}:/usr/local/etc/PHP/PHP.INI
-${VHOSTS_DIR}:/etc/apache2/已启用站点
-${LOG\u DIR}:/var/LOG/apache2
mysql:
建造:
上下文:“./.docker/bin/${DATABASE}”
容器名称:“mysql”
重新启动:“始终”
端口:
-“${HOST\u MACHINE\u MYSQL\u PORT}:3306”
卷数:
-${MYSQL\u DATA\u DIR}:/var/lib/MYSQL
-${MYSQL\u LOG\u DIR}:/var/LOG/MYSQL
环境:
MYSQL\u ROOT\u密码:${MYSQL\u ROOT\u密码}
MYSQL_数据库:${MYSQL_数据库}
MYSQL\u用户:${MYSQL\u用户}
MYSQL\u密码:${MYSQL\u密码}
phpmyadmin:
图片:phpmyadmin/phpmyadmin
容器名称:“sc phpmyadmin”
链接:
-mysql
环境:
PMA_主机:mysql
PMA_端口:3306
PMA_用户:${MYSQL_用户}
PMA_密码:${MYSQL_密码}
MYSQL\u ROOT\u密码:${MYSQL\u ROOT\u密码}
MYSQL\u用户:${MYSQL\u用户}
MYSQL\u密码:${MYSQL\u密码}
端口:
-“${HOST\u MACHINE\u PHPMYADMIN\u PORT}:80”
卷数:
-./.docker/sessions
redis:
容器名称:“sc redis”
图片:redis:最新版本
端口:
-“${HOST\u MACHINE\u REDIS\u PORT}:6379”
.env:

码头工人### 文档根=。 VHOSTS_DIR=./.docker/config/VHOSTS APACHE_LOG_DIR=./.docker/logs/apache2 PHP_INI=./.docker/config/PHP/PHP.INI 数据库=mysql8 MYSQL\u DATA\u DIR=./.docker/DATA/MYSQL MYSQL\u LOG\u DIR=./.docker/logs/MYSQL 主机\u机器\u不安全\u主机\u端口=80 主机\机器\安全\主机\端口=443 主机\u机器\u MYSQL\u端口=3306 主机\u机器\u PHPMYADMIN\u端口=8080 主机\u机器\u REDIS\u端口=6379 MYSQL\u ROOT\u PASSWORD=tiger MYSQL\u USER=docker MYSQL\u PASSWORD=docker MYSQL\u DATABASE=docker ###>码头工人### 如何修复此错误


首先,感谢您的帮助

尝试一下这样的方法-${PWD}/:/var/www/html我为此做了很多努力。我唯一做的改变是增加了一个正斜杠。成功了

原样

将来


我在
docker compose.yml
文件中尝试了
${PWD}-->C:/path(示例)
。这对我有用。(Windows 10)

尝试用绝对引用替换相对(
/
)引用。我在错误的文件夹中意外运行docker compose命令时出现此错误。结果发现
/
在这里至关重要:
--volume$(pwd)/:/app
可以工作,但不能
--volume$(pwd):/app
  volumes:
      - ${PWD}/:/apps