我想知道是否有一种简单的方法可以利用Amazon EFS(弹性文件系统)将其作为本地docker-compose设置中的卷挂载。
原因是对于本地开发,创建的卷会持久保存在我的笔记本电脑上-如果我更换设备,我无法访问任何底层数据。云NFS将解决此问题,因为它可以从任何地方轻松访问。
AWS文档(https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html)似乎建议使用AWS Direct Connect / VPN-是否有任何方法可以通过在安全组中打开端口2049(NFS流量)并将该安全组应用于新创建的EFS来避免这种情况?
这是我的docker-compose.yml:
我理解的意思是我的笔记本连接不属于AWS EFS VPC,因此无法挂载EFS。
为了更好地理解,我想将网络爬虫设置容器化,并在云中保留数据卷,以便可以从任何地方连接到它。
原因是对于本地开发,创建的卷会持久保存在我的笔记本电脑上-如果我更换设备,我无法访问任何底层数据。云NFS将解决此问题,因为它可以从任何地方轻松访问。
AWS文档(https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html)似乎建议使用AWS Direct Connect / VPN-是否有任何方法可以通过在安全组中打开端口2049(NFS流量)并将该安全组应用于新创建的EFS来避免这种情况?
这是我的docker-compose.yml:
version: "3.2"
services:
postgres_db:
container_name: "postgres"
image: "postgres:13"
ports:
- 5432:5432
volumes:
- type: volume
source: postgres_data
target: /var/lib/postgresql/data
volume:
nocopy: true
environment:
POSTGRES_USER: 'admin'
POSTGRES_PASSWORD: "password"
volumes:
postgres_data:
driver_opts:
type: "nfs"
o: "addr=xxx.xx.xx.xx,nolock,soft,rw"
device: ":/docker/example"
我遇到了以下错误:
ERROR: for postgres_db Cannot start service postgres_db: error while mounting volume '/var/lib/docker/volumes/flowstate_example/_data': failed to mount local volume: mount :/docker/example:/var/lib/docker/volumes/flowstate_example/_data, data: addr=xxx.xx.xx.xx,nolock,soft: connection refused
我理解的意思是我的笔记本连接不属于AWS EFS VPC,因此无法挂载EFS。
为了更好地理解,我想将网络爬虫设置容器化,并在云中保留数据卷,以便可以从任何地方连接到它。