gpt4 book ai didi

php - 如何以Docker撰写版本 '2'格式挂载卷

转载 作者:行者123 更新时间:2023-12-02 19:38:59 24 4
gpt4 key购买 nike

所以我在挂载新格式版本2 docker compose文件时遇到了麻烦。
我在文件夹wordpress中的代码位于其中的位置docker-compose文件中,也在文件夹代码docker文件中,如下所示:

FROM debian:jessie
VOLUME /var/www/wordpress

当我使用这样的旧格式时:
application:
build: code
volumes:
- ./wordpress:/var/www/wordpress
- ./logs/wordpress:/var/www/wordpress/app/logs
tty: true
db:
image: mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: somename
MYSQL_USER: root
MYSQL_PASSWORD: root
php:
build: php-fpm
ports:
- 9001:9001
volumes_from:
- application
links:
- db
nginx:
build: nginx
ports:
- 8080:80
links:
- php
volumes_from:
- application
volumes:
- ./logs/nginx/:/var/log/nginx
elk:
image: willdurand/elk
ports:
- 81:80
volumes:
- ./elk/logstash:/etc/logstash
- ./elk/logstash/patterns:/opt/logstash/patterns
volumes_from:
- application
- php
- nginx

当我开始使用与以前版本相同的版本'2'时,我遇到任何错误,因此我重新格式化了撰写文件,并将 dockerfile从代码文件夹移至内部主文件夹中,位置 docker-compose文件。我的新版本docker-compose如下所示:
version: '2'
services:
web:
build: .
volumes:
- /wordpress:/var/www/wordpress
- /logs/wordpress:/var/www/wordpress/app/logs
tty: true

db:
image: mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: somename
MYSQL_USER: root
MYSQL_PASSWORD: root
php:
build: php-fpm
ports:
- 9001:9001
volumes_from:
- web
links:
- db
nginx:
build: nginx
ports:
- 82:82
links:
- php
volumes_from:
- web
volumes:
- /logs/nginx/:/var/log/nginx
elk:
image: willdurand/elk
ports:
- 81:80
volumes:
- /elk/logstash:/etc/logstash
- /elk/logstash/patterns:/opt/logstash/patterns
volumes_from:
- web
- php
- nginx

最终,重新格式化代码 docker-compose后,就可以成功构建并启动它了,但是当我在/ php中打开它们内的 nginxvar/www/worpdress容器时,我只有空文件夹应用程序不是我的wordpress项目。
我在哪里错了设置装载项目量的设置?
提前致谢。

最佳答案

问题在于您定义用于卷的本地目录的方式。在以前的版本中,您使用的是./wordpress,而在新版本中,您仅使用的是/wordpress

当引用本地目录进行卷映射时,它们始终必须以./开头-请尝试以下操作:

version: '2'
services:
web:
build: .
volumes:
- ./wordpress:/var/www/wordpress
- ./logs/wordpress:/var/www/wordpress/app/logs

还有一件事:我建议始终将卷映射用双引号引起来,以避免出现空格字符问题,例如:
version: '2'
services:
web:
build: .
volumes:
- "./wordpress:/var/www/wordpress"
- "./logs/wordpress:/var/www/wordpress/app/logs"

关于php - 如何以Docker撰写版本 '2'格式挂载卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40799866/

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