Besides map a local file to container via volumes
, Hyper allows you to insert new files into containers in a HyperVM instance. The content of the inserted file could be specified in Pod or get from a URL. To do this, simply define the files to be attached in files
section, and reference the filename
in container
section:
{
"id": "myweb",
"tty": true,
"resource": {
"vcpu": 1,
"memory": "128"
},
"containers" : [{
"image": "nginx:latest",
"files": [{
"path": "/etc/",
"filename": "nginx.conf", # Reference here
"perm": "0755"
}]
}],
"files": [{ # Definition
"name": "nginx.conf",
"encoding": "raw",
"uri": "https://s3.amazonaws/bucket/file.conf",
"content": ""
}]
}
The files
section is a list of items with the following properties:
-
name
: the file name; used in Section 'Containers' -
encoding
: the file encoding;raw
orbase64
. the content will be decoded whenbase64
is specified -
uri
: fetch the file from this address, could be either a net url such ashttp://example.com/myfile
or local file withfile:///
-
content
: specify the content of the file
One file can be shared by multiple containers in a Pod with different
path
andperm
. Therefore, any changes to the file content will be visible across the entire Pod.