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 - 管道符和ssh傳文件2. javascript - 數組原聲方法中的一段代碼3. html - eclipse 標簽錯誤4. 求大神幫我看看是哪里寫錯了 感謝細心解答5. php自學從哪里開始?6. javascript - 怎么實現移動端頁面滑動切換,從1可以滑到2 但是不能從2滑回1 這樣的效果呢?7. javascript - JS設置Video視頻對象的currentTime時出現了問題,IE,Edge,火狐,都可以設置,反而chrom卻...8. 數據庫 - MySQL 單表500W+數據,查詢超時,如何優化呢?9. javascript - 如果所有請求都放到actions 里面,那拿到的數據應該 放在哪里,state 還是vue實例里面的data?10. phpstady在win10上運行
