dockerfile - docker-compose 掛載數據卷卻沒有數據
問題描述
如下是docker-compose.yml文件
version: ’3.2’services: nginx: build: ./dockerfiles/nginx/ container_name: nginx-server ports: - '80:80' links: - 'php-fpm' volumes: - wwwroot:/wwwroot# - ./dockerfiles/nginx/conf.d:/etc/nginx/conf.d:ro depends_on: - redis-db expose: - '80' - '6379' - '3306' - '9000' command: nginx -g ’daemon off;’ mysql-db: image: mysql:5.7 container_name: mysql-db volumes: - ./mysql_data:/var/lib/mysql restart: always environment:MYSQL_ROOT_PASSWORD: zhaojunMYSQL_DATABASE: package_v1MYSQL_USER: zhaojunMYSQL_PASSWORD: zhaojun redis-db: build: ./dockerfiles/redis container_name: redis-db php-fpm: build: ./dockerfiles/php/ container_name: php-fpm volumes: - ./wwwroot:/wwwroot depends_on: - mysql-db - redis-dbvolumes: wwwroot: driver: local
項目結構文件如下:
但是在運行docker-compose up -d 后,nginx能訪問成功,但是我訪問不了php內部文件
$docker exec -it php-fpm /bin/bash
我ls wwwroot的時候發現里面并沒有任何數據,但是
$docker insepct php-fpm
掛載如下
'Mounts': [ {'Type': 'bind','Source': '/d/Customer Files/WorkSpace/Php/30-going-home/wwwroot','Destination': '/wwwroot','Mode': 'rw','RW': true,'Propagation': '' }],
這是為什么呢?
問題解答
回答1:我個人感覺,是在windows環境下,使用docker-machine的問題。
在測試了幾遍后,終于發現了問題,使用docker-machine ssh到虛擬機,發現掛載了c/users/
接著,我把項目遷移到此目錄下,重新嘗試。
docker-compose up后,進入到php-fpm容器,文件才成功的掛載。
由于之前對docker-machine沒有深入了解模式。
相關文章:
1. Python的os.listdir在獲取文件列表時的順序問題2. 這是什么情況???3. 統計 - MYSQL版本問題導致SQL語法錯誤!unknow column ’SQLSTR’4. java - svn導下來的項目,web-inf下怎么沒有lib文件呀?5. docker start -a dockername 老是卡住,什么情況?6. node.js - 關于你不知道的JavaScript上一書介紹的行為委托7. javascript - 想問下百分比進度條實現原理以及這種布局怎么實現,還有賽馬時背景跟著動的原理?8. python - Pycharm的Debug用不了9. 有哪些將html5語義化標簽運用到極致的站點?10. javascript - 這是什么插件能把能把cli里面的webpack打包信息格式化?
