kopia lustrzana https://github.com/linuxserver/docker-documentation
148 wiersze
4.7 KiB
Smarty
148 wiersze
4.7 KiB
Smarty
![]() |
docker run \
|
||
|
--name {{printf "%q" .Name}} \
|
||
|
{{- with .HostConfig}}
|
||
|
{{- if .Privileged}}
|
||
|
--privileged \
|
||
|
{{- end}}
|
||
|
{{- if .AutoRemove}}
|
||
|
--rm \
|
||
|
{{- end}}
|
||
|
{{- if .Runtime}}
|
||
|
--runtime {{printf "%q" .Runtime}} \
|
||
|
{{- end}}
|
||
|
{{- range $b := .Binds}}
|
||
|
--volume {{printf "%q" $b}} \
|
||
|
{{- end}}
|
||
|
{{- range $v := .VolumesFrom}}
|
||
|
--volumes-from {{printf "%q" $v}} \
|
||
|
{{- end}}
|
||
|
{{- range $l := .Links}}
|
||
|
--link {{printf "%q" $l}} \
|
||
|
{{- end}}
|
||
|
{{- if index . "Mounts"}}
|
||
|
{{- range $m := .Mounts}}
|
||
|
--mount type={{.Type}}
|
||
|
{{- if $s := index $m "Source"}},source={{$s}}{{- end}}
|
||
|
{{- if $t := index $m "Target"}},destination={{$t}}{{- end}}
|
||
|
{{- if index $m "ReadOnly"}},readonly{{- end}}
|
||
|
{{- if $vo := index $m "VolumeOptions"}}
|
||
|
{{- range $i, $v := $vo.Labels}}
|
||
|
{{- printf ",volume-label=%s=%s" $i $v}}
|
||
|
{{- end}}
|
||
|
{{- if $dc := index $vo "DriverConfig" }}
|
||
|
{{- if $n := index $dc "Name" }}
|
||
|
{{- printf ",volume-driver=%s" $n}}
|
||
|
{{- end}}
|
||
|
{{- range $i, $v := $dc.Options}}
|
||
|
{{- printf ",volume-opt=%s=%s" $i $v}}
|
||
|
{{- end}}
|
||
|
{{- end}}
|
||
|
{{- end}}
|
||
|
{{- if $bo := index $m "BindOptions"}}
|
||
|
{{- if $p := index $bo "Propagation" }}
|
||
|
{{- printf ",bind-propagation=%s" $p}}
|
||
|
{{- end}}
|
||
|
{{- end}} \
|
||
|
{{- end}}
|
||
|
{{- end}}
|
||
|
{{- if .PublishAllPorts}}
|
||
|
--publish-all \
|
||
|
{{- end}}
|
||
|
{{- if .UTSMode}}
|
||
|
--uts {{printf "%q" .UTSMode}} \
|
||
|
{{- end}}
|
||
|
{{- with .LogConfig}}
|
||
|
--log-driver {{printf "%q" .Type}} \
|
||
|
{{- range $o, $v := .Config}}
|
||
|
--log-opt {{$o}}={{printf "%q" $v}} \
|
||
|
{{- end}}
|
||
|
{{- end}}
|
||
|
{{- with .RestartPolicy}}
|
||
|
--restart "{{.Name -}}
|
||
|
{{- if eq .Name "on-failure"}}:{{.MaximumRetryCount}}
|
||
|
{{- end}}" \
|
||
|
{{- end}}
|
||
|
{{- range $e := .ExtraHosts}}
|
||
|
--add-host {{printf "%q" $e}} \
|
||
|
{{- end}}
|
||
|
{{- range $v := .CapAdd}}
|
||
|
--cap-add {{printf "%q" $v}} \
|
||
|
{{- end}}
|
||
|
{{- range $v := .CapDrop}}
|
||
|
--cap-drop {{printf "%q" $v}} \
|
||
|
{{- end}}
|
||
|
{{- range $d := .Devices}}
|
||
|
--device {{printf "%q" (index $d).PathOnHost}}:{{printf "%q" (index $d).PathInContainer}}:{{(index $d).CgroupPermissions}} \
|
||
|
{{- end}}
|
||
|
{{- end}}
|
||
|
{{- with .NetworkSettings -}}
|
||
|
{{- range $p, $conf := .Ports}}
|
||
|
{{- with $conf}}
|
||
|
--publish "
|
||
|
{{- if $h := (index $conf 0).HostIp}}{{$h}}:
|
||
|
{{- end}}
|
||
|
{{- (index $conf 0).HostPort}}:{{$p}}" \
|
||
|
{{- end}}
|
||
|
{{- end}}
|
||
|
{{- range $n, $conf := .Networks}}
|
||
|
{{- with $conf}}
|
||
|
--network {{printf "%q" $n}} \
|
||
|
{{- range $a := $conf.Aliases}}
|
||
|
--network-alias {{printf "%q" $a}} \
|
||
|
{{- end}}
|
||
|
{{- end}}
|
||
|
{{- end}}
|
||
|
{{- end}}
|
||
|
{{- with .Config}}
|
||
|
{{- if .Hostname}}
|
||
|
--hostname {{printf "%q" .Hostname}} \
|
||
|
{{- end}}
|
||
|
{{- if .Domainname}}
|
||
|
--domainname {{printf "%q" .Domainname}} \
|
||
|
{{- end}}
|
||
|
{{- if index . "ExposedPorts"}}
|
||
|
{{- range $p, $conf := .ExposedPorts}}
|
||
|
--expose {{printf "%q" $p}} \
|
||
|
{{- end}}
|
||
|
{{- end}}
|
||
|
{{- if .User}}
|
||
|
--user {{printf "%q" .User}} \
|
||
|
{{- end}}
|
||
|
{{- range $e := .Env}}
|
||
|
--env {{printf "%q" $e}} \
|
||
|
{{- end}}
|
||
|
{{- range $l, $v := .Labels}}
|
||
|
--label {{printf "%q" $l}}={{printf "%q" $v}} \
|
||
|
{{- end}}
|
||
|
{{- if not (or .AttachStdin (or .AttachStdout .AttachStderr))}}
|
||
|
--detach \
|
||
|
{{- end}}
|
||
|
{{- if .AttachStdin}}
|
||
|
--attach stdin \
|
||
|
{{- end}}
|
||
|
{{- if .AttachStdout}}
|
||
|
--attach stdout \
|
||
|
{{- end}}
|
||
|
{{- if .AttachStderr}}
|
||
|
--attach stderr \
|
||
|
{{- end}}
|
||
|
{{- if .Tty}}
|
||
|
--tty \
|
||
|
{{- end}}
|
||
|
{{- if .OpenStdin}}
|
||
|
--interactive \
|
||
|
{{- end}}
|
||
|
{{- if .Entrypoint}}
|
||
|
{{- /* Since the entry point cannot be overridden from the command line with an array of size over 1,
|
||
|
we are fine assuming the default value in such a case. */ -}}
|
||
|
{{- if eq (len .Entrypoint) 1 }}
|
||
|
--entrypoint "
|
||
|
{{- range $i, $v := .Entrypoint}}
|
||
|
{{- if $i}} {{end}}
|
||
|
{{- $v}}
|
||
|
{{- end}}" \
|
||
|
{{- end}}
|
||
|
{{- end}}
|
||
|
{{printf "%q" .Image}} \
|
||
|
{{range .Cmd}}{{printf "%q " .}}{{- end}}
|
||
|
{{- end}}
|