diff options
author | Ashley Cui <acui@redhat.com> | 2020-06-30 17:21:52 -0400 |
---|---|---|
committer | Ashley Cui <acui@redhat.com> | 2020-07-02 13:30:59 -0400 |
commit | 9a1543caec75a7b02dd2ec9a1111756bb1716454 (patch) | |
tree | fb1223410fe7ce9e0831a39c73a70bd9efa0caee /libpod/options.go | |
parent | e84695213e35c22ba085e3831cbd025cd55a4c84 (diff) | |
download | podman-9a1543caec75a7b02dd2ec9a1111756bb1716454.tar.gz podman-9a1543caec75a7b02dd2ec9a1111756bb1716454.tar.bz2 podman-9a1543caec75a7b02dd2ec9a1111756bb1716454.zip |
Add --tz flag to create, run
--tz flag sets timezone inside container
Can be set to IANA timezone as well as `local` to match host machine
Signed-off-by: Ashley Cui <acui@redhat.com>
Diffstat (limited to 'libpod/options.go')
-rw-r--r-- | libpod/options.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libpod/options.go b/libpod/options.go index 4041fb1cf..83d2c2e1f 100644 --- a/libpod/options.go +++ b/libpod/options.go @@ -1525,6 +1525,30 @@ func withSetAnon() VolumeCreateOption { } } +// WithTimezone sets the timezone in the container +func WithTimezone(path string) CtrCreateOption { + return func(ctr *Container) error { + if ctr.valid { + return define.ErrCtrFinalized + } + if path != "local" { + zone := filepath.Join("/usr/share/zoneinfo", path) + + file, err := os.Stat(zone) + if err != nil { + return err + } + //We don't want to mount a timezone directory + if file.IsDir() { + return errors.New("Invalid timezone: is a directory") + } + } + + ctr.config.Timezone = path + return nil + } +} + // Pod Creation Options // WithPodName sets the name of the pod. |