Google compute engine 如何将永久磁盘装入容器卷?

Google compute engine 如何将永久磁盘装入容器卷?,google-compute-engine,Google Compute Engine,我正在玩,发现你可以很容易地创建一些有趣的设置。但是,我还没有弄清楚是否可以使用在容器上装载卷,而且似乎没有此功能限制了托管虚拟机对于有状态容器(如数据库)的用途 因此,问题是:如何将Google为我的计算引擎实例创建的永久磁盘装入容器卷?如果您的永久磁盘已连接并装入实例,我相信您可以将其用作docker容器的数据卷。我找到了docker,它解释了如何管理容器中的数据的步骤 将永久磁盘附加到Google计算引擎实例 遵循指南: 创建磁盘 附加到实例,或 使用工具/usr/share/googl

我正在玩,发现你可以很容易地创建一些有趣的设置。但是,我还没有弄清楚是否可以使用在容器上装载卷,而且似乎没有此功能限制了托管虚拟机对于有状态容器(如数据库)的用途


因此,问题是:如何将Google为我的计算引擎实例创建的永久磁盘装入容器卷?

如果您的永久磁盘已连接并装入实例,我相信您可以将其用作docker容器的数据卷。我找到了docker,它解释了如何管理容器中的数据的步骤

将永久磁盘附加到Google计算引擎实例 遵循指南:

  • 创建磁盘
  • 附加到实例,或
  • 使用工具
    /usr/share/google/safe\u format\u和\u mount
    挂载设备文件
    /dev/disk/by id/google-…
  • 正如Faizan所指出的,使用
    docker run-v/mnt/persistent_disk:/container/target/path
    将卷包含在docker容器中
在Google容器引擎中引用持久磁盘 在这个方法中,您可以在复制控制器或Pod声明中声明性地指定卷(如上所述初始化卷之后…)。以下是复制控制器JSON声明的一个最小摘录。请注意,该卷必须声明为只读,因为一次写入持久磁盘的实例不超过两个

{
    "id": "<id>",
    "kind": "ReplicationController",
    "apiVersion": "v1beta1",
    "desiredState": {
        "replicas": 3,
        "replicaSelector": {
            "name": "<id>"
        },
        "podTemplate": {
            "desiredState": {
                "manifest": {
                    "version": "v1beta1",
                    "id": "<id>",
                    "containers": [
                        {
                            "name": "<id>",
                            "image": "<docker_image>",
                            "volumeMounts": [
                                {
                                    "name": "persistent_disk",
                                    "mountPath": "/pd",
                                    "readOnly": true
                                }
                            ],
                            ...
                        }
                    ],
                    "volumes": [
                        {
                            "name": "persistent_disk",
                            "source": {
                                "persistentDisk": {
                                    "pdName": "<persistend_disk>",
                                    "fsType": "ext4",
                                    "readOnly": true
                                }
                            }
                        }
                    ]
                }
            },
            "labels": {
                "name": "<id>"
            }
        }
    },
    "labels": {
        "name": "<id>"
    }
}
{
“id”:“,
“种类”:“复制控制器”,
“apiVersion”:“v1beta1”,
“期望状态”:{
“复制品”:3,
“复制选择器”:{
“名称”:”
},
“podTemplate”:{
“期望状态”:{
“舱单”:{
“版本”:“v1beta1”,
“id”:“,
“容器”:[
{
“名称”:“,
“图像”:“,
“卷数”:[
{
“名称”:“持久磁盘”,
“mountPath”:“/pd”,
“只读”:真
}
],
...
}
],
“卷”:[
{
“名称”:“持久磁盘”,
“来源”:{
“persistentDisk”:{
“pdName”:“,
“fsType”:“ext4”,
“只读”:真
}
}
}
]
}
},
“标签”:{
“名称”:”
}
}
},
“标签”:{
“名称”:”
}
}