概念:
宿主机
:你的本地机器
容器
:docker容器
1.首先,docker是一个容器
,而不是虚拟机
,按照这个思维
而言,docker是一个运行的工具,docker内部的数据,不能像虚拟机一样有自己的闭环的数据(这里说的数据,指的是系统文件,譬如fecmall,你的数据库数据等),
docker里面的数据文件夹都是挂载
的方式。
理论上,你可以把docker弄的和虚拟机那样,不用挂载的方式,但是,一旦容器被销毁,你的数据也会丢失,因此docker的使用,数据都是挂载
的方式。
2.打开fecmall docker的配置文件:https://github.com/fecshop/yii2_fecshop_docker/blob/master/docker-compose.yml 查看php部分
php:
build:
context: ./services/php/docker/
restart: always
volumes:
- ./app:/www/web
- ./services/php/etc/php7.1.13.ini:/usr/local/etc/php/conf.d/php7.1.13.ini
将宿主机的 ./app
挂载
到php容器的/www/web
3.那么你用你的phpstorem(宿主主机),打开文件夹 ./app
,作为项目根目录加载就行,这里的文件内容改变了,php docker里面的文件就会随之而变,因为docker的数据是挂载的
当我把php docker容器销毁后,但是我的fecmall数据还在
4.多看一下docker资料