如何将Docker容器主目录安装到Azure存储中

问题描述 投票:-1回答:2

我是Docker的新手。我正在尝试使atmoz / sftp容器与Azure存储一起使用。

我的目标是拥有多个SFTP用户,这些用户会将文件上传到自己的文件夹中,然后我可以在Azure存储上找到它们。

我使用了以下命令:

az container create \
--resource-group test \
--name testsftpcontainer \
--image atmoz/sftp \
--dns-name-label testsftpcontainer \
--ports 22 \
--location "East US" \
--environment-variables SFTP_USERS="ftpuser1:yyyy:::incoming ftpuser2:xxx:::incoming" \
--azure-file-volume-share-name test-sftp-file-share \
--azure-file-volume-account-name storagetest \
--azure-file-volume-account-key "zzzzzz" \
--azure-file-volume-mount-path /home

容器已创建并运行,但是当我尝试通过Filezilla进行连接失败时,我在日志中得到了这个:

Accepted password for ftpuser2 from 10.240.xxx.xxx port 64982 ssh2 
bad ownership or modes for chroot directory component "/home/"

如果我使用/ home / ftpuser1 / incoming,则对其中一个用户有效。

我需要首先更改/ home目录的权限吗?如果是这样,如何?

azure docker permissions azure-storage azure-container-service
2个回答
1
投票

当然,您可以将Azure文件共享安装到容器目录/home。它在我这边很完美:

enter image description hereenter image description here

而且我还用图像atmoz/sftp进行了测试。而且它也可以正常工作。此处的命令:

az container create -g myResourceGroup \
-n azuresftp \
--image atmoz/sftp \
--ports 22 \
--ip-address Public \
-l eastus \
--environment-variables SFTP_USERS="ftpuser1:yyyy:::incoming ftpuser2:xxx:::incoming" \
--azure-file-volume-share-name fileshare \
--azure-file-volume-mount-path /home \
--azure-file-volume-account-name xxxxxx \
--azure-file-volume-account-key xxxxxx

这是屏幕截图:

enter image description here


0
投票

我找不到解决问题的方法。最后,我使用了另一种方法:-我将Azure存储装入了另一个不相关的文件夹/ mount / sftpfiles-构建容器后,我运行了以下命令:

apt更新apt-get -y安装lsyncdlsyncd -rsync / home / mnt / sftpfiles

他们下载了一个名为lsyncd的工具,该工具监视文件系统的更改,并在发生更改时将文件复制到另一个文件夹。

这解决了我的要求,但是具有复制所有文件的副作用(对我来说这不是问题)。>>

我仍然愿意接受其他建议,以帮助我使它更清洁。

© www.soinside.com 2019 - 2024. All rights reserved.