pBu*_*uch 7 docker docker-compose docker-volume
到目前为止,我已经使用本地LAMP堆栈来开发我的Web项目并将它们手动部署到服务器.对于下一个项目,我想使用docker和docker-compose来创建mariaDB,NGINX和项目容器,以便于开发和部署.
开发时我希望主机上的代码目录与docker容器同步.我知道可以通过跑步来实现
docker run -dt --name containerName -v /path/on/host:/path/in/container
Run Code Online (Sandbox Code Playgroud)
在CLI为表示在这里,但我想这样做码头工人,撰写V2文件中.
我有一个docker-composer.yml文件,如下所示:
version: '2'
services:
db:
#[...]
myProj:
build: ./myProj
image: myProj
depends_on:
- db
volumes:
myCodeVolume:/var/www
volumes:
myCodeVolume:
Run Code Online (Sandbox Code Playgroud)
如何将容器中的/ var/www目录与我的主机(Ubuntu桌面,macos或Windows机器)同步?
谢谢您的帮助.
这几乎是相同的方式,您host:container直接在services.myProj.volumes撰写文件中的键下进行映射:
version: '2'
services:
...
myProj:
...
volumes:
/path/to/file/on/host:/var/www
Run Code Online (Sandbox Code Playgroud)
请注意,顶级volumes密钥已被删除。
这个文件可以翻译成:
docker create --links db -v /path/to/file/on/host:/var/www myProj
Run Code Online (Sandbox Code Playgroud)
当docker-compose找到顶级volumes部分时docker volume create,它会在创建任何其他容器之前首先尝试其下的键。然后可以使用这些卷来保存您希望跨容器持久化的数据。所以,如果我以你的文件为例,它会转化为这样的:
docker volume create myCodeVolume
docker create --links db -v myCodeVoume:/var/www myProj
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7870 次 |
| 最近记录: |