Docker卷映射来宾到主机的同步文件

时间:2018-12-16 11:08:47

标签: wordpress docker docker-compose volume

我创建了这个基本的Dockerfile,期望test在主机中像html / test一样可见,但事实并非如此。我认为是因为Docker在主机中创建了一个空的html目录并将其同步到guest。我尝试使用docker run和docker-compose,结果是相同的。

问题是,当我对Dockerhub中的WordPress映像执行相同的操作时,我看到它在主机上创建了一个目录,整洁地同步了来自guest虚拟机中/ var / www / html的所有文件。所以现在我想知道如何创建相同的行为。

Dockerfile简单测试:

FROM php:7.3.0-apache-stretch

RUN touch /var/www/html/test; \
    echo success > /var/www/html/test

VOLUME /var/www/html

docker-compose.yml简单测试:

version: '3'

services:
  php:
    image: progonkpa/php-vol:1.0
    volumes:
      - ./html:/var/www/html
    restart: always

问题是,当我对Dockerhub中的WordPress映像执行相同的操作时,我看到它在主机上创建了一个目录,整洁地同步了来自guest虚拟机中/ var / www / html的所有文件。

Dockerfile WordPress

使用WordPress官方图片的docker-compose.yml(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:

0 个答案:

没有答案