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. mysql優化 - mysql count(id)查詢速度如何優化?2. mysql主從 - 請教下mysql 主動-被動模式的雙主配置 和 主從配置在應用上有什么區別?3. python - django 里自定義的 login 方法,如何使用 login_required()4. node.js - node_moduls太多了5. 主從備份 - 跪求mysql 高可用主從方案6. angular.js - 不適用其他構建工具,怎么搭建angular1項目7. angular.js - Angular路由和express路由的組合使用問題8. python如何不改動文件的情況下修改文件的 修改日期9. java8中,邏輯與 & 符號用在接口類上代表什么意思10. python - 關于ACK標志位的TCP端口掃描的疑惑?
