docker – 卷与卷之间有什么区别?

前端之家收集整理的这篇文章主要介绍了docker – 卷与卷之间有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我看到码头组合模式,但我很困惑.制作组合容器的最佳方式是什么?
何时应该使用link或
什么时候应该使用volume_from,volumes

1个app-db-data

app:
    image: someimage
    link:
        - db // data volume container name 
db:
    image: MysqL
    volumes_from:
        - data // data volume name
data:
    image: someimage
    volumes:
        - {host data}:{guest data}

2个应用数据库数据

app:
    image: someimage
    link:
        - db // data volume container name 
db:
    image: MysqL
    volumes:
        - data // data file name

应用

1个应用服务数据

app:
    image: someimage
    volumes_from:
        - service // service container name 
service:
    image: MysqL
    volumes_from:
        - data // image container name
data:
    image: someimage
    volumes:
        - {host data}:{guest data} 

2个应用服务数据

app:
    image: someimage
    volumes_from:
        - service // service container name 
service:
    image: MysqL
    volumes:
        - data // mounted file

谢谢

最佳答案
Link和volumes_from是不同的概念.当您需要连接(通过网络)两个容器时,将使用链接.在这种情况下,如果要将App连接到数据库,则通过使用链接来实现此操作的方式是因为应用程序使用端口和主机连接到数据库(而不是文件系统上的目录).

卷和卷_from的区别在于,第一个仅声明Docker将生成持久性或主机:guest挂载的卷,但是volume_from告诉Docker使用已在另一台主机上声明的卷(使其可供该主机使用).

在你提出的4个案例中,我认为第一和第二个是好的选择.在第一个你创建一个仅数据的容器,并使MysqL容器使用它.在第二种情况下,数据和MysqL容器是一样的.

Linksvolumes在docker文档中完美解释.

希望有帮助

猜你在找的Docker相关文章