求咨询此 docker-compose.yml 中的卷问题? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
stille
V2EX    Docker

求咨询此 docker-compose.yml 中的卷问题?

  •  
  •   stille
    stilleshan 2020-02-12 23:29:56 +08:00 3306 次点击
    这是一个创建于 2070 天前的主题,其中的信息可能已经有所发展或是发生改变。

    作为 docker 新手,还没有能够实践用到顶级卷的地方.大致了解了下可能是用于各容器之间共享目录的.不知道对不对.

    根据这个 docker-compose.yml 示例中,有两个命名卷 databasechevereto_images ,而最后三行是顶级卷吧?不太懂有什么用...

    作为处女座我的希望这 2 个目录放在 docker-compose.yml 的当前目录下.并且 chevereto_images 改为 images.于是改为 ./database./images ,然后把最后一行 chevereto_images 也改为 images 了..

    按理说那目前就不是命名卷,而是挂载目录了..那最后那三行还有意义吗?会不会有什么影响?

    version: '3' services: db: image: mariadb volumes: - database:/var/lib/mysql:rw restart: always networks: - private environment: MYSQL_ROOT_PASSWORD: chevereto_root MYSQL_DATABASE: chevereto MYSQL_USER: chevereto MYSQL_PASSWORD: chevereto chevereto: depends_on: - db image: nmtan/chevereto restart: always networks: - private environment: CHEVERETO_DB_HOST: db CHEVERETO_DB_USERNAME: chevereto CHEVERETO_DB_PASSWORD: chevereto CHEVERETO_DB_NAME: chevereto CHEVERETO_DB_PREFIX: chv_ volumes: - chevereto_images:/var/www/html/images:rw ports: - 8080:80 networks: private: volumes: database: chevereto_images: 
    2 条回复    2020-02-13 01:00:14 +08:00
    dcalsky
        1
    dcalsky  
       2020-02-13 00:45:21 +08:00   1
    1. 有两个命名卷 database 和 chevereto_images ,而最后三行是顶级卷吧: 是,主要用处是 Service 之间共享文件。

    2. 作为处女座我的希望这 2 个目录放在 docker-compose.yml 的当前目录下: 如果是 Top-level Volume 可以用 driver 和 driver_opt,但是不推荐。所以推荐你取消这两个 Top-level Volumes,改为 Service Volume,这样可以存在本地。

    3. 并且 chevereto_images 改为 images.于是改为 ./database 和 ./images ,然后把最后一行 chevereto_images 也改为 images: 可以。

    4. 查文档和自己动手操作一下都能找到答案,而 V2EX 一小时都不会回答你。

    ```yaml
    version: '3'

    services:
    db:
    image: mariadb
    volumes:
    -./database:/var/lib/mysql:rw
    restart: always
    networks:
    - private
    environment:
    MYSQL_ROOT_PASSWORD: chevereto_root
    MYSQL_DATABASE: chevereto
    MYSQL_USER: chevereto
    MYSQL_PASSWORD: chevereto

    chevereto:
    depends_on:
    - db
    image: nmtan/chevereto
    restart: always
    networks:
    - private
    environment:
    CHEVERETO_DB_HOST: db
    CHEVERETO_DB_USERNAME: chevereto
    CHEVERETO_DB_PASSWORD: chevereto
    CHEVERETO_DB_NAME: chevereto
    CHEVERETO_DB_PREFIX: chv_
    volumes:
    -./images:/var/www/html/images:rw
    ports:
    - 8080:80

    networks:
    private:
    ```
    stille
        2
    stille  
    OP
       2020-02-13 01:00:14 +08:00
    @dcalsky 感谢..我也是搜索了很多都找不到详细的解决办法...后来大致了解顶级卷...实际上在多个 docker 需要共享一个目录时,就使用顶级卷处命名,然后在需要的位置 -v 命名卷 后 在顶级卷在去定义挂载到某个绝对路径也是可以的把.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5722 人在线   最高记录 6679     &nsp; Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 06:05 PVG 14:05 LAX 23:05 JFK 02:05
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86