dockerfile - docker-compose 掛載數(shù)據(jù)卷卻沒(méi)有數(shù)據(jù)
問(wèn)題描述
如下是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
項(xiàng)目結(jié)構(gòu)文件如下:
但是在運(yùn)行docker-compose up -d 后,nginx能訪問(wèn)成功,但是我訪問(wèn)不了php內(nèi)部文件
$docker exec -it php-fpm /bin/bash
我ls wwwroot的時(shí)候發(fā)現(xiàn)里面并沒(méi)有任何數(shù)據(jù),但是
$docker insepct php-fpm
掛載如下
'Mounts': [ {'Type': 'bind','Source': '/d/Customer Files/WorkSpace/Php/30-going-home/wwwroot','Destination': '/wwwroot','Mode': 'rw','RW': true,'Propagation': '' }],
這是為什么呢?
問(wèn)題解答
回答1:我個(gè)人感覺(jué),是在windows環(huán)境下,使用docker-machine的問(wèn)題。
在測(cè)試了幾遍后,終于發(fā)現(xiàn)了問(wèn)題,使用docker-machine ssh到虛擬機(jī),發(fā)現(xiàn)掛載了c/users/
接著,我把項(xiàng)目遷移到此目錄下,重新嘗試。
docker-compose up后,進(jìn)入到php-fpm容器,文件才成功的掛載。
由于之前對(duì)docker-machine沒(méi)有深入了解模式。
相關(guān)文章:
1. css3 - 純css實(shí)現(xiàn)點(diǎn)擊特效2. javascript - 關(guān)于apply()與call()的問(wèn)題3. java - 在用戶(hù)不登錄的情況下,用戶(hù)如何添加保存到購(gòu)物車(chē)?4. Python中使用超長(zhǎng)的List導(dǎo)致內(nèi)存占用過(guò)大5. javascript - 有適合開(kāi)發(fā)手機(jī)端Html5網(wǎng)頁(yè)小游戲的前端框架嗎?6. 安全性測(cè)試 - nodejs中如何防m(xù)ySQL注入7. javascript - JS變量被清空8. java - spring boot 如何打包成asp.net core 那種獨(dú)立應(yīng)用?9. html - eclipse 標(biāo)簽錯(cuò)誤10. javascript - axios請(qǐng)求回來(lái)的數(shù)據(jù)組件無(wú)法進(jìn)行綁定渲染
