test
会变得像主机中的html/test一样可见,但事实并非如此。我认为是因为Docker在主机中创建了一个空的html目录,并将其同步到guest。我尝试了docker run和docker compose,结果是一样的。
问题是,当我对Dockerhub中的WordPress图像执行相同的操作时,我看到它在主机上创建了一个目录,整齐地同步guest中/var/www/html的所有文件。所以现在我想知道我怎样才能创造出同样的行为。
FROM php:7.3.0-apache-stretch
RUN touch /var/www/html/test; \
echo success > /var/www/html/test
VOLUME /var/www/html
码头工人-合成.yml简单测试:
version: '3'
services:
php:
image: progonkpa/php-vol:1.0
volumes:
- ./html:/var/www/html
restart: always
Dockerfile WordPress
码头工人-合成.yml使用WordPress官方图片(progonkpa/wordpress:1.0增加了XDebug和其他普通文件)
version: '3'
services:
db:
image: mysql:5.7
volumes:
- ./docker-mysql/db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: progonkpa/wordpress:1.0
restart: always
ports:
- "80:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
restart: always
volumes:
- ./wordpress:/var/www/html
- ./src:/var/www/src
- ./vendor:/var/www/vendor
volumes:
db_data: