我正在玩Google's managed VM feature并发现你可以很容易地创建一些有趣的设置。但是,我还没有弄清楚是否可以使用persistent disks在容器上安装卷,并且似乎没有此功能限制托管VM对有状态容器(如数据库)的有用性。
所以问题是:如何将Google为我的Compute引擎实例创建的持久性磁盘装载到容器卷?
答案 0 :(得分:2)
关注the official persistent-disk指南:
/usr/share/google/safe_format_and_mount
挂载设备文件/dev/disk/by-id/google-...
docker run -v /mnt/persistent_disk:/container/target/path
在Docker容器中包含该卷在此方法中,您在Replication Controller或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>"
}
}
答案 1 :(得分:0)
如果您的永久磁盘已连接并已安装到实例,我相信您可以将其用作Docker容器的数据卷。我找到了docker documentation,它解释了如何管理容器中的数据的步骤。