加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何使用docker-compose在容器和主机之间同步代码?

发布时间:2020-12-16 03:27:17 所属栏目:安全 来源:网络整理
导读:到目前为止,我已经使用本地LAMP堆栈来开发我的Web项目并将它们手动部署到服务器.对于下一个项目,我想使用docker和docker-compose来创建mariaDB,NGINX和项目容器,以便于开发和部署. 开发时我希望主机上的代码目录与docker容器同步.我知道可以通过跑步来实现 d

到目前为止,我已经使用本地LAMP堆栈来开发我的Web项目并将它们手动部署到服务器.对于下一个项目,我想使用docker和docker-compose来创建mariaDB,NGINX和项目容器,以便于开发和部署.

开发时我希望主机上的代码目录与docker容器同步.我知道可以通过跑步来实现

docker run -dt --name containerName -v /path/on/host:/path/in/container

在here所述的cli中,但我想在docker-compose v2文件中执行此操作.

我有一个docker-composer.yml文件,如下所示:

version: '2'

services:
    db:
        #[...]
    myProj:
        build: ./myProj
        image: myProj
        depends_on:
            - db
        volumes:
            myCodeVolume:/var/www
volumes:
    myCodeVolume:

如何将容器中的/ var / www目录与我的主机(Ubuntu桌面,macos或Windows机器)同步?

谢谢您的帮助.

最佳答案
它几乎是一样的,你直接在你的撰写文件中的services.myProj.volumes键下进行主机:容器映射:

version: '2'
services:
    ...
    myProj:
        ...
        volumes:
            /path/to/file/on/host:/var/www

请注意,顶级卷密钥已删除.

该文件可以翻译成:

docker create --links db -v /path/to/file/on/host:/var/www myProj

当docker-compose找到顶级卷部分时,它会尝试使用docker volume在创建任何其他容器之前创建其下的键.然后可以使用这些卷来保存您希望跨容器持久化的数据.
所以,如果我把你的文件作为一个例子,它会转换成这样的东西:

docker volume create myCodeVolume
docker create --links db -v myCodeVoume:/var/www myProj

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读