OC-SET-IMAGE(1)
β¨ OC SET IMAGE(1) β¨
okay so bestie, this is the oc set image page from the OpenShift CLI user manual and honestly? it's giving "quiet little command that does exactly one thing really well" π
πΈ NAME πΈ
oc set image β update the image of a pod template. that's it. that's the whole vibe. π
π¦ SYNOPSIS π¦
oc set image [OPTIONS]
π DESCRIPTION π
Update existing container image(s) of resources. lowkey simple, highkey powerful β you point it at a resource, you tell it which container gets which image, and it just does that β¨
π OPTIONS π
--all=falseβ select all resources, but only within the namespace of the resource types you named. no cap, it stays in its lane π«Ά--allow-missing-template-keys=trueβ if true, ignore any errors in templates when a field or map key is missing in the template. only applies togolangandjsonpathoutput formats, iykyk.--dry-run="none"β must be"none","server", or"client". if it's the client strategy, it only prints the object that would be sent, without sending it. if it's the server strategy, it submits a server-side request without persisting the resource. a little peek, no commitment π--field-manager="kubectl-set"β name of the manager used to track field ownership. yes it'skubectl-set, that's not a typo, that's the default, leave it alone π-f,--filename=[]β filename, directory, or URL to files identifying the resource to get from a server.-k,--kustomize=""β process the kustomization directory. heads up: this flag can't be used together with-for-R. pick a lane bestie π--local=falseβ if true, set image will NOT contact api-server but run locally. offline era π-o,--output=""β output format. one of: (json,yaml,kyaml,name,go-template,go-template-file,template,templatefile,jsonpath,jsonpath-as-json,jsonpath-file). so many choices, all iconic.-R,--recursive=falseβ process the directory used in-f,--filenamerecursively. useful when you want to manage related manifests organized within the same directory. it goes deep π§-l,--selector=""β selector (label query) to filter on, supports=,==,!=,in,notin.(e.g.-l key1=value1,key2=value2,key3 in (value3)). matching objects must satisfy all of the specified label constraints. yes, all of them. no halfies.--show-managed-fields=falseβ if true, keep themanagedFieldswhen printing objects in JSON or YAML format.--source="docker"β the image source type; valid types are'imagestreamtag','istag','imagestreamimage','isimage', and'docker'. (shoutout todockerfor being the default π)--template=""β template string or path to template file to use when-o=go-template,-o=go-template-file. the template format is golang templates [ β¨http://golang.org/pkg/text/template/#pkg-overviewβ© ].
π OPTIONS INHERITED FROM PARENT COMMANDS π
these are the ones you didn't ask for but got anyway, like a group chat you never left π«Ά
--as=""β username to impersonate for the operation. user could be a regular user or a service account in a namespace. main character energy, but someone else's π--as-group=[]β group to impersonate for the operation, this flag can be repeated to specify multiple groups.--as-uid=""β UID to impersonate for the operation.--as-user-extra=[]β user extras to impersonate for the operation, this flag can be repeated to specify multiple values for the same key.--cache-dir="/homeless-shelter/.kube/cache"β default cache directory. (yes,/homeless-shelter, don't ask π)--certificate-authority=""β path to a cert file for the certificate authority--client-certificate=""β path to a client certificate file for TLS--client-key=""β path to a client key file for TLS--cluster=""β the name of the kubeconfig cluster to use--context=""β the name of the kubeconfig context to use--disable-compression=falseβ if true, opt-out of response compression for all requests to the server--insecure-skip-tls-verify=falseβ if true, the server's certificate will not be checked for validity. this will make your HTTPS connections insecure. like, actually insecure, be so fr π₯--kubeconfig=""β path to the kubeconfig file to use for CLI requests.--kuberc=""β path to the kuberc file to use for preferences. this can be disabled by exportingKUBECTL_KUBERC=falsefeature gate or turning off the featureKUBERC=off.--match-server-version=falseβ require server version to match client version-n,--namespace=""β if present, the namespace scope for this CLI request--profile="none"β name of profile to capture. one of (none|cpu|heap|goroutine|threadcreate|block|mutex)--profile-output="profile.pprof"β name of the file to write the profile to--request-timeout="0"β the length of time to wait before giving up on a single server request. non-zero values should contain a corresponding time unit (e.g.1s,2m,3h). a value of zero means don't timeout requests. zero = forever bestie β-s,--server=""β the address and port of the Kubernetes API server--tls-server-name=""β server name to use for server certificate validation. if it is not provided, the hostname used to contact the server is used--token=""β bearer token for authentication to the API server--user=""β the name of the kubeconfig user to use--warnings-as-errors=falseβ treat warnings received from the server as errors and exit with a non-zero exit code
π EXAMPLE π
the moment you've all been waiting for π
# Set a deployment config's nginx container image to 'nginx:1.9.1', and its busybox container image to 'busybox'.
oc set image dc/nginx busybox=busybox nginx=nginx:1.9.1
# Set a deployment config's app container image to the image referenced by the imagestream tag 'openshift/ruby:2.3'.
oc set image dc/myapp app=openshift/ruby:2.3 --source=imagestreamtag
# Update all deployments' and rc's nginx container's image to 'nginx:1.9.1'
oc set image deployments,rc nginx=nginx:1.9.1 --all
# Update image of all containers of daemonset abc to 'nginx:1.9.1'
oc set image daemonset abc *=nginx:1.9.1
# Print result (in YAML format) of updating nginx container image from local file, without hitting the server
oc set image -f path/to/file.yaml nginx=nginx:1.9.1 --local -o yaml
ngl that *= in the daemonset example? it means all containers. obsessed. π₯
π SEE ALSO π
πΈ HISTORY πΈ
June 2016, Ported from the Kubernetes man-doc generator. so vintage. so retro. a true elder of the CLI world π
and that's the whole page bestie π«Ά this was Openshift CLI User Manuals, wearing an Openshift badge, dated June 2016 π go forth and set some images, slay β¨ππ¦
π¦ where this page comes from
- nixpkgs unstable: openshift 4.22.0-202605222050
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms