我使用docker-compose来定义我的服务,在docker中,docker卷有两个概念,第一个是关于bind mount
:装载到主机存储上。
docker run -d --name web-app -v $HOST/location:/container/location -p 80:80 httpd:latest
其次是关于managed mount
:抽象存储,不依赖于主机。
docker run -d --name web-app -v /container/location -p 80:80 httpd:latest
我想把这些概念Map到docker-composition上,这意味着在使用docker-composition时,我如何定义bind mount
和managed mount
。
4条答案
按热度按时间piztneat1#
以下是两种类型的配置。https://docs.docker.com/compose/compose-file/compose-file-v3/#volumes
wribegjk2#
您可以在Docker Compose的
volumes
部分找到这些Docker概念:www.example.comhttps://docs.docker.com/compose/compose-file/#/volumes-volumedriver示例:
xzlaal3s3#
答案:
你只需要这样做:
然后,为了在"易于调试模式"下运行它,首先使用
docker-compose up
,当您确保它工作正常时,通过在末尾添加-d
来在它上面放置一个环。重要说明
1-请确保您的
docker-compose
版本至少是3.2
,在我的情况下,它是3.7
。更新和摆脱旧版本做如下:图片来源:www.example.comhttps://github.com/10up/wp-local-docker/issues/58#issuecomment-476786006
2-不要忘记
rm
旧容器,这样就不会遇到奇怪的端口相关问题。祝你好运。
vu8f3i0k4#
在OSX上的Docker 3中,我不得不禁用实验特性gRPC并按照以下方式重新启动:https://github.com/microsoft/vscode-remote-release/issues/4171