在开发wep应用程序时处理docker容器数据

我把这个图像用于magento2安装。

现在我正试图获得容器/ var / www / html数据在主机之后,我可以处理phpstorm。

我尝试这样,但它覆盖容器/ var / www / html中的所有内容

docker run --name development-phase -d -p 5000:80 -v /u01/magento2:/var/www/html magento2 

同时创造音量

数据stream:从主机/ u01 / magento2到容器/ var / www / html

但是我正在寻找

数据stream应该从容器/ var / www / html到host / u01 / magento2

我已经提到了一些堆栈溢出链接,都build议在创build卷之前将容器数据复制到主机,在我的情况下,docker cp命令会影响到magento2的一些前提条件设置,所以页面无法正常加载。

这是Docker中卷的行为:

  • -v /host/path:/container/path不会复制数据
  • -v /container/path将复制数据并创build一个随机名称的新卷

所以,你可能想尝试

 docker run --name development-phase -d -p 5000:80 -v /var/www/html magento2 

然后find使用docker inspect "Destination":"/var/www/html"属性Source的值的随机path"Destination":"/var/www/html"

 docker inspect --format "{{json .Mounts}}" development-phase 

更具可读性

 docker inspect -f "{{json .Mounts}}" development-phase \ | jq '.[] | select(.Destination | contains("/var/www/html"))'