summaryrefslogtreecommitdiff
path: root/libpod/options.go
diff options
context:
space:
mode:
authorAshley Cui <acui@redhat.com>2020-06-30 17:21:52 -0400
committerAshley Cui <acui@redhat.com>2020-07-02 13:30:59 -0400
commit9a1543caec75a7b02dd2ec9a1111756bb1716454 (patch)
treefb1223410fe7ce9e0831a39c73a70bd9efa0caee /libpod/options.go
parente84695213e35c22ba085e3831cbd025cd55a4c84 (diff)
downloadpodman-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.go24
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.