Files
Helper methods for files.
List¶
List files and directories in a container.
Note: Does not work for listing file contents unless your using LXD > 3.0.0, so should be used only to list directories, see pull method below on how to fetch them.
Parameters & Call
| Parameter | Type | Description | Default |
|---|---|---|---|
| remote | string | LXD remote | local |
| container | string | Container name | |
| path | string | Container directory path | |
| mutator | function | Mutation function |
lxc.containers.files.list('local', 'my-container', '/').then(response => { console.log(response); })
Response
[ "proc", "usr", "run", "etc", "home", "sbin", "snap", "opt", "lib64", "boot", "root", "media", "lib", "sys", "bin", "mnt", "var", "tmp", "srv", "dev" ]
Push¶
Upload files or folders into the container.
Parameters & Call
| Parameter | Type | Description | Default |
|---|---|---|---|
| remote | string | LXD remote | local |
| container | string | Container name | |
| source | string | Local file/folder path | |
| path | string | Container file path |
Note: If both the source and the path parameters are folders, the method will
recursively upload, otherwise it will set mode 755 if folder or 644 if file.
All files are uploaded as uid/gid root user.
// single file lxc.containers.files.push('local', 'my-container', '/local/path/to/file.ext', '/path/to/file.ext').then(response => { console.log(response); }) // entire directory lxc.containers.files.push('local', 'my-container', '/local/path/to/folder', '/path/to/folder').then(response => { console.log(response); })
Response
""
Pull¶
Download a file from the container.
Note: We use lxc file pull as there is a bug which prevents accessing the file with
files endpoint though lxc query. Its fixed in LXD > 3.0.0, so will be converted
to use that in future.
Parameters & Call
| Parameter | Type | Description | Default |
|---|---|---|---|
| remote | string | LXD remote | local |
| container | string | Container name | |
| path | string | Container file path |
lxc.containers.files.pull('local', 'my-container', '/path/to/file').then(response => { console.log(response); })
Because with file pull you cant output to stdout, we need to pull the file then cat it,
so a folder structure is created based upon the path.
Example above would create: ./.files/local/my-container/path/to/file
Response
The file contents