Bur*_*rak 4 docker docker-compose
我有一个 docker-compose yml,可以在我的 docker 上创建 sftp 映像。我想在 yml 文件中编写一个脚本,因为我希望在运行 docker-compose.yml 时自动创建目录。
这是我的 yml 文件;
sftp:
image: atmoz/sftp
volumes:
- C:\tmp\sftp:/home/foo/upload
ports:
- "2222:22"
command: username:password:1001
Run Code Online (Sandbox Code Playgroud)
有没有办法在这个文件中写入mkdirand chmod?
您不需要手动创建和设置 mod,只需将目录名称传递给CMD,入口点就会为您创建一个。这是最简单的例子。
在 (1)
command arguments、 (2)SFTP_USERS环境变量或 (3) 安装的文件中定义用户/etc/sftp/users.conf(语法:user:pass[:e][:uid[:gid[:dir1[,dir2]...]]] ...,请参阅下面的示例)
使用 docker-compose
sftp:
image: atmoz/sftp
command: username:password:100:100:upload
Run Code Online (Sandbox Code Playgroud)
它将在下创建用户名username和目录上传/home/username
您可以使用以下命令验证这一点
docker exec -it --user username <container_id> bash -c "ls /home/username"
Run Code Online (Sandbox Code Playgroud)
如果您想从主机访问上传文件,只需在 docker-compose 中添加挂载
sftp:
image: atmoz/sftp
command: username:password:100:100:upload
volumes:
- /host/upload:/home/username/upload
Run Code Online (Sandbox Code Playgroud)
例子
最简单的 docker 运行示例
docker run -p 22:22 -d atmoz/sftp foo:pass:::upload
Run Code Online (Sandbox Code Playgroud)
用户“foo”和密码“pass”可以使用sftp登录并将文件上传到名为“upload”的文件夹。没有安装目录或自定义 UID/GID。稍后您可以检查文件并使用 --volumes-from 将它们安装在其他位置(或参见下一个示例)。
查看官方文档
| 归档时间: |
|
| 查看次数: |
7111 次 |
| 最近记录: |