Chapter 6. OpenShift CLI command reference
Descriptions and example commands for OpenShift CLI (oc
) commands are included in this reference document. You must have cluster-admin
or equivalent permissions to use these commands. To list administrator commands and information about them, use the following commands:
Enter the
oc adm -h
command to list all administrator commands:Command syntax
oc adm -h
$ oc adm -h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Enter the
oc <command> --help
command to get additional details for a specific command:Command syntax
oc <command> --help
$ oc <command> --help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Using oc <command> --help
lists details for any oc
command. Not all oc
commands apply to using Red Hat build of MicroShift.
6.1. OpenShift CLI (oc) developer commands Copy linkLink copied to clipboard!
6.1.1. oc annotate Copy linkLink copied to clipboard!
Update the annotations on a resource
Example usage
6.1.2. oc api-resources Copy linkLink copied to clipboard!
Print the supported API resources on the server
Example usage
6.1.3. oc api-versions Copy linkLink copied to clipboard!
Print the supported API versions on the server, in the form of "group/version"
Example usage
Print the supported API versions
# Print the supported API versions
oc api-versions
6.1.4. oc apply Copy linkLink copied to clipboard!
Apply a configuration to a resource by file name or stdin
Example usage
6.1.5. oc apply edit-last-applied Copy linkLink copied to clipboard!
Edit latest last-applied-configuration annotations of a resource/object
Example usage
Edit the last-applied-configuration annotations by type/name in YAML
# Edit the last-applied-configuration annotations by type/name in YAML
oc apply edit-last-applied deployment/nginx
# Edit the last-applied-configuration annotations by file in JSON
oc apply edit-last-applied -f deploy.yaml -o json
6.1.6. oc apply set-last-applied Copy linkLink copied to clipboard!
Set the last-applied-configuration annotation on a live object to match the contents of a file
Example usage
6.1.7. oc apply view-last-applied Copy linkLink copied to clipboard!
View the latest last-applied-configuration annotations of a resource/object
Example usage
View the last-applied-configuration annotations by type/name in YAML
# View the last-applied-configuration annotations by type/name in YAML
oc apply view-last-applied deployment/nginx
# View the last-applied-configuration annotations by file in JSON
oc apply view-last-applied -f deploy.yaml -o json
6.1.8. oc attach Copy linkLink copied to clipboard!
Attach to a running container
Example usage
6.1.9. oc auth can-i Copy linkLink copied to clipboard!
Check whether an action is allowed
Example usage
6.1.10. oc auth reconcile Copy linkLink copied to clipboard!
Reconciles rules for RBAC role, role binding, cluster role, and cluster role binding objects
Example usage
Reconcile RBAC resources from a file
# Reconcile RBAC resources from a file
oc auth reconcile -f my-rbac-rules.yaml
6.1.11. oc auth whoami Copy linkLink copied to clipboard!
Experimental: Check self subject attributes
Example usage
Get your subject attributes.
# Get your subject attributes.
oc auth whoami
# Get your subject attributes in JSON format.
oc auth whoami -o json
6.1.12. oc cluster-info Copy linkLink copied to clipboard!
Display cluster information
Example usage
Print the address of the control plane and cluster services
# Print the address of the control plane and cluster services
oc cluster-info
6.1.13. oc cluster-info dump Copy linkLink copied to clipboard!
Dump relevant information for debugging and diagnosis
Example usage
6.1.14. oc completion Copy linkLink copied to clipboard!
Output shell completion code for the specified shell (bash, zsh, fish, or powershell)
Example usage
6.1.15. oc config current-context Copy linkLink copied to clipboard!
Display the current-context
Example usage
Display the current-context
# Display the current-context
oc config current-context
6.1.16. oc config delete-cluster Copy linkLink copied to clipboard!
Delete the specified cluster from the kubeconfig
Example usage
Delete the minikube cluster
# Delete the minikube cluster
oc config delete-cluster minikube
6.1.17. oc config delete-context Copy linkLink copied to clipboard!
Delete the specified context from the kubeconfig
Example usage
Delete the context for the minikube cluster
# Delete the context for the minikube cluster
oc config delete-context minikube
6.1.18. oc config delete-user Copy linkLink copied to clipboard!
Delete the specified user from the kubeconfig
Example usage
Delete the minikube user
# Delete the minikube user
oc config delete-user minikube
6.1.19. oc config get-clusters Copy linkLink copied to clipboard!
Display clusters defined in the kubeconfig
Example usage
List the clusters that oc knows about
# List the clusters that oc knows about
oc config get-clusters
6.1.20. oc config get-contexts Copy linkLink copied to clipboard!
Describe one or many contexts
Example usage
List all the contexts in your kubeconfig file
# List all the contexts in your kubeconfig file
oc config get-contexts
# Describe one context in your kubeconfig file
oc config get-contexts my-context
6.1.21. oc config get-users Copy linkLink copied to clipboard!
Display users defined in the kubeconfig
Example usage
List the users that oc knows about
# List the users that oc knows about
oc config get-users
6.1.22. oc config new-admin-kubeconfig Copy linkLink copied to clipboard!
Generate, make the server trust, and display a new admin.kubeconfig.
Example usage
Generate a new admin kubeconfig
# Generate a new admin kubeconfig
oc config new-admin-kubeconfig
6.1.23. oc config new-kubelet-bootstrap-kubeconfig Copy linkLink copied to clipboard!
Generate, make the server trust, and display a new kubelet /etc/kubernetes/kubeconfig.
Example usage
Generate a new kubelet bootstrap kubeconfig
# Generate a new kubelet bootstrap kubeconfig
oc config new-kubelet-bootstrap-kubeconfig
6.1.24. oc config refresh-ca-bundle Copy linkLink copied to clipboard!
Update the OpenShift CA bundle by contacting the apiserver.
Example usage
6.1.25. oc config rename-context Copy linkLink copied to clipboard!
Rename a context from the kubeconfig file
Example usage
Rename the context 'old-name' to 'new-name' in your kubeconfig file
# Rename the context 'old-name' to 'new-name' in your kubeconfig file
oc config rename-context old-name new-name
6.1.26. oc config set Copy linkLink copied to clipboard!
Set an individual value in a kubeconfig file
Example usage
6.1.27. oc config set-cluster Copy linkLink copied to clipboard!
Set a cluster entry in kubeconfig
Example usage
6.1.28. oc config set-context Copy linkLink copied to clipboard!
Set a context entry in kubeconfig
Example usage
Set the user field on the gce context entry without touching other values
# Set the user field on the gce context entry without touching other values
oc config set-context gce --user=cluster-admin
6.1.29. oc config set-credentials Copy linkLink copied to clipboard!
Set a user entry in kubeconfig
Example usage
6.1.30. oc config unset Copy linkLink copied to clipboard!
Unset an individual value in a kubeconfig file
Example usage
Unset the current-context
# Unset the current-context
oc config unset current-context
# Unset namespace in foo context
oc config unset contexts.foo.namespace
6.1.31. oc config use-context Copy linkLink copied to clipboard!
Set the current-context in a kubeconfig file
Example usage
Use the context for the minikube cluster
# Use the context for the minikube cluster
oc config use-context minikube
6.1.32. oc config view Copy linkLink copied to clipboard!
Display merged kubeconfig settings or a specified kubeconfig file
Example usage
6.1.33. oc cp Copy linkLink copied to clipboard!
Copy files and directories to and from containers
Example usage
6.1.34. oc create Copy linkLink copied to clipboard!
Create a resource from a file or from stdin
Example usage
6.1.35. oc create clusterrole Copy linkLink copied to clipboard!
Create a cluster role
Example usage
6.1.36. oc create clusterrolebinding Copy linkLink copied to clipboard!
Create a cluster role binding for a particular cluster role
Example usage
Create a cluster role binding for user1, user2, and group1 using the cluster-admin cluster role
# Create a cluster role binding for user1, user2, and group1 using the cluster-admin cluster role
oc create clusterrolebinding cluster-admin --clusterrole=cluster-admin --user=user1 --user=user2 --group=group1
6.1.37. oc create configmap Copy linkLink copied to clipboard!
Create a config map from a local file, directory or literal value
Example usage
6.1.38. oc create cronjob Copy linkLink copied to clipboard!
Create a cron job with the specified name
Example usage
Create a cron job
# Create a cron job
oc create cronjob my-job --image=busybox --schedule="*/1 * * * *"
# Create a cron job with a command
oc create cronjob my-job --image=busybox --schedule="*/1 * * * *" -- date
6.1.39. oc create deployment Copy linkLink copied to clipboard!
Create a deployment with the specified name
Example usage
6.1.40. oc create ingress Copy linkLink copied to clipboard!
Create an ingress with the specified name
Example usage
6.1.41. oc create job Copy linkLink copied to clipboard!
Create a job with the specified name
Example usage
6.1.42. oc create namespace Copy linkLink copied to clipboard!
Create a namespace with the specified name
Example usage
Create a new namespace named my-namespace
# Create a new namespace named my-namespace
oc create namespace my-namespace
6.1.43. oc create poddisruptionbudget Copy linkLink copied to clipboard!
Create a pod disruption budget with the specified name
Example usage
6.1.44. oc create priorityclass Copy linkLink copied to clipboard!
Create a priority class with the specified name
Example usage
6.1.45. oc create quota Copy linkLink copied to clipboard!
Create a quota with the specified name
Example usage
Create a new resource quota named my-quota
# Create a new resource quota named my-quota
oc create quota my-quota --hard=cpu=1,memory=1G,pods=2,services=3,replicationcontrollers=2,resourcequotas=1,secrets=5,persistentvolumeclaims=10
# Create a new resource quota named best-effort
oc create quota best-effort --hard=pods=100 --scopes=BestEffort
6.1.46. oc create role Copy linkLink copied to clipboard!
Create a role with single rule
Example usage
6.1.47. oc create rolebinding Copy linkLink copied to clipboard!
Create a role binding for a particular role or cluster role
Example usage
Create a role binding for user1, user2, and group1 using the admin cluster role
# Create a role binding for user1, user2, and group1 using the admin cluster role
oc create rolebinding admin --clusterrole=admin --user=user1 --user=user2 --group=group1
# Create a role binding for serviceaccount monitoring:sa-dev using the admin role
oc create rolebinding admin-binding --role=admin --serviceaccount=monitoring:sa-dev
6.1.48. oc create route edge Copy linkLink copied to clipboard!
Create a route that uses edge TLS termination
Example usage
6.1.49. oc create route passthrough Copy linkLink copied to clipboard!
Create a route that uses passthrough TLS termination
Example usage
6.1.50. oc create route reencrypt Copy linkLink copied to clipboard!
Create a route that uses reencrypt TLS termination
Example usage
6.1.51. oc create secret docker-registry Copy linkLink copied to clipboard!
Create a secret for use with a Docker registry
Example usage
If you don't already have a .dockercfg file, you can create a dockercfg secret directly by using:
# If you don't already have a .dockercfg file, you can create a dockercfg secret directly by using:
oc create secret docker-registry my-secret --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
# Create a new secret named my-secret from ~/.docker/config.json
oc create secret docker-registry my-secret --from-file=.dockerconfigjson=path/to/.docker/config.json
6.1.52. oc create secret generic Copy linkLink copied to clipboard!
Create a secret from a local file, directory, or literal value
Example usage
6.1.53. oc create secret tls Copy linkLink copied to clipboard!
Create a TLS secret
Example usage
Create a new TLS secret named tls-secret with the given key pair
# Create a new TLS secret named tls-secret with the given key pair
oc create secret tls tls-secret --cert=path/to/tls.cert --key=path/to/tls.key
6.1.54. oc create service clusterip Copy linkLink copied to clipboard!
Create a ClusterIP service
Example usage
Create a new ClusterIP service named my-cs
# Create a new ClusterIP service named my-cs
oc create service clusterip my-cs --tcp=5678:8080
# Create a new ClusterIP service named my-cs (in headless mode)
oc create service clusterip my-cs --clusterip="None"
6.1.55. oc create service externalname Copy linkLink copied to clipboard!
Create an ExternalName service
Example usage
Create a new ExternalName service named my-ns
# Create a new ExternalName service named my-ns
oc create service externalname my-ns --external-name bar.com
6.1.56. oc create service loadbalancer Copy linkLink copied to clipboard!
Create a LoadBalancer service
Example usage
Create a new LoadBalancer service named my-lbs
# Create a new LoadBalancer service named my-lbs
oc create service loadbalancer my-lbs --tcp=5678:8080
6.1.57. oc create service nodeport Copy linkLink copied to clipboard!
Create a NodePort service
Example usage
Create a new NodePort service named my-ns
# Create a new NodePort service named my-ns
oc create service nodeport my-ns --tcp=5678:8080
6.1.58. oc create serviceaccount Copy linkLink copied to clipboard!
Create a service account with the specified name
Example usage
Create a new service account named my-service-account
# Create a new service account named my-service-account
oc create serviceaccount my-service-account
6.1.59. oc create token Copy linkLink copied to clipboard!
Request a service account token
Example usage
6.1.60. oc debug Copy linkLink copied to clipboard!
Launch a new instance of a pod for debugging
Example usage
6.1.61. oc delete Copy linkLink copied to clipboard!
Delete resources by file names, stdin, resources and names, or by resources and label selector
Example usage
6.1.62. oc describe Copy linkLink copied to clipboard!
Show details of a specific resource or group of resources
Example usage
6.1.63. oc diff Copy linkLink copied to clipboard!
Diff the live version against a would-be applied version
Example usage
Diff resources included in pod.json
# Diff resources included in pod.json
oc diff -f pod.json
# Diff file read from stdin
cat service.yaml | oc diff -f -
6.1.64. oc edit Copy linkLink copied to clipboard!
Edit a resource on the server
Example usage
6.1.65. oc events Copy linkLink copied to clipboard!
List events
Example usage
6.1.66. oc exec Copy linkLink copied to clipboard!
Execute a command in a container
Example usage
6.1.67. oc explain Copy linkLink copied to clipboard!
Get documentation for a resource
Example usage
Get the documentation of the resource and its fields
# Get the documentation of the resource and its fields
oc explain pods
# Get the documentation of a specific field of a resource
oc explain pods.spec.containers
6.1.68. oc expose Copy linkLink copied to clipboard!
Expose a replicated application as a service or route
Example usage
6.1.69. oc extract Copy linkLink copied to clipboard!
Extract secrets or config maps to disk
Example usage
6.1.70. oc get Copy linkLink copied to clipboard!
Display one or many resources
Example usage
6.1.71. oc image append Copy linkLink copied to clipboard!
Add layers to images and push them to a registry
Example usage
6.1.72. oc image extract Copy linkLink copied to clipboard!
Copy files from an image to the file system
Example usage
6.1.73. oc image info Copy linkLink copied to clipboard!
Display information about an image
Example usage
6.1.74. oc image mirror Copy linkLink copied to clipboard!
Mirror images from one repository to another
Example usage
6.1.75. oc kustomize Copy linkLink copied to clipboard!
Build a kustomization target from a directory or URL
Example usage
6.1.76. oc label Copy linkLink copied to clipboard!
Update the labels on a resource
Example usage
6.1.77. oc logs Copy linkLink copied to clipboard!
Print the logs for a container in a pod
Example usage
6.1.78. oc observe Copy linkLink copied to clipboard!
Observe changes to resources and react to them (experimental)
Example usage
6.1.79. oc patch Copy linkLink copied to clipboard!
Update fields of a resource
Example usage
6.1.80. oc plugin list Copy linkLink copied to clipboard!
List all visible plugin executables on a user’s PATH
Example usage
List all available plugins
# List all available plugins
oc plugin list
6.1.81. oc policy add-role-to-user Copy linkLink copied to clipboard!
Add a role to users or service accounts for the current project
Example usage
Add the 'view' role to user1 for the current project
# Add the 'view' role to user1 for the current project
oc policy add-role-to-user view user1
# Add the 'edit' role to serviceaccount1 for the current project
oc policy add-role-to-user edit -z serviceaccount1
6.1.82. oc policy scc-review Copy linkLink copied to clipboard!
Check which service account can create a pod
Example usage
6.1.83. oc policy scc-subject-review Copy linkLink copied to clipboard!
Check whether a user or a service account can create a pod
Example usage
6.1.84. oc port-forward Copy linkLink copied to clipboard!
Forward one or more local ports to a pod
Example usage
6.1.85. oc proxy Copy linkLink copied to clipboard!
Run a proxy to the Kubernetes API server
Example usage
6.1.86. oc rollback Copy linkLink copied to clipboard!
Revert part of an application back to a previous deployment
Example usage
6.1.87. oc rollout cancel Copy linkLink copied to clipboard!
Cancel the in-progress deployment
Example usage
Cancel the in-progress deployment based on 'nginx'
# Cancel the in-progress deployment based on 'nginx'
oc rollout cancel dc/nginx
6.1.88. oc rollout history Copy linkLink copied to clipboard!
View rollout history
Example usage
View the rollout history of a deployment
# View the rollout history of a deployment
oc rollout history dc/nginx
# View the details of deployment revision 3
oc rollout history dc/nginx --revision=3
6.1.89. oc rollout latest Copy linkLink copied to clipboard!
Start a new rollout for a deployment config with the latest state from its triggers
Example usage
Start a new rollout based on the latest images defined in the image change triggers
# Start a new rollout based on the latest images defined in the image change triggers
oc rollout latest dc/nginx
# Print the rolled out deployment config
oc rollout latest dc/nginx -o json
6.1.90. oc rollout pause Copy linkLink copied to clipboard!
Mark the provided resource as paused
Example usage
Mark the nginx deployment as paused. Any current state of
# Mark the nginx deployment as paused. Any current state of
# the deployment will continue its function, new updates to the deployment will not
# have an effect as long as the deployment is paused
oc rollout pause dc/nginx
6.1.91. oc rollout restart Copy linkLink copied to clipboard!
Restart a resource
Example usage
6.1.92. oc rollout resume Copy linkLink copied to clipboard!
Resume a paused resource
Example usage
Resume an already paused deployment
# Resume an already paused deployment
oc rollout resume dc/nginx
6.1.93. oc rollout retry Copy linkLink copied to clipboard!
Retry the latest failed rollout
Example usage
Retry the latest failed deployment based on 'frontend'
# Retry the latest failed deployment based on 'frontend'
# The deployer pod and any hook pods are deleted for the latest failed deployment
oc rollout retry dc/frontend
6.1.94. oc rollout status Copy linkLink copied to clipboard!
Show the status of the rollout
Example usage
Watch the status of the latest rollout
# Watch the status of the latest rollout
oc rollout status dc/nginx
6.1.95. oc rollout undo Copy linkLink copied to clipboard!
Undo a previous rollout
Example usage
Roll back to the previous deployment
# Roll back to the previous deployment
oc rollout undo dc/nginx
# Roll back to deployment revision 3. The replication controller for that version must exist
oc rollout undo dc/nginx --to-revision=3
6.1.96. oc rsh Copy linkLink copied to clipboard!
Start a shell session in a container
Example usage
6.1.97. oc rsync Copy linkLink copied to clipboard!
Copy files between a local file system and a pod
Example usage
Synchronize a local directory with a pod directory
# Synchronize a local directory with a pod directory
oc rsync ./local/dir/ POD:/remote/dir
# Synchronize a pod directory with a local directory
oc rsync POD:/remote/dir/ ./local/dir
6.1.98. oc run Copy linkLink copied to clipboard!
Run a particular image on the cluster
Example usage
6.1.99. oc scale Copy linkLink copied to clipboard!
Set a new size for a deployment, replica set, or replication controller
Example usage
6.1.100. oc secrets link Copy linkLink copied to clipboard!
Link secrets to a service account
Example usage
Add an image pull secret to a service account to automatically use it for pulling pod images
# Add an image pull secret to a service account to automatically use it for pulling pod images
oc secrets link serviceaccount-name pull-secret --for=pull
# Add an image pull secret to a service account to automatically use it for both pulling and pushing build images
oc secrets link builder builder-image-secret --for=pull,mount
6.1.101. oc secrets unlink Copy linkLink copied to clipboard!
Detach secrets from a service account
Example usage
Unlink a secret currently associated with a service account
# Unlink a secret currently associated with a service account
oc secrets unlink serviceaccount-name secret-name another-secret-name ...
6.1.102. oc set data Copy linkLink copied to clipboard!
Update the data within a config map or secret
Example usage
6.1.103. oc set env Copy linkLink copied to clipboard!
Update environment variables on a pod template
Example usage
6.1.104. oc set image Copy linkLink copied to clipboard!
Update the image of a pod template
Example usage
6.1.105. oc set image-lookup Copy linkLink copied to clipboard!
Change how images are resolved when deploying applications
Example usage
6.1.106. oc set probe Copy linkLink copied to clipboard!
Update a probe on a pod template
Example usage
6.1.107. oc set resources Copy linkLink copied to clipboard!
Update resource requests/limits on objects with pod templates
Example usage
6.1.108. oc set route-backends Copy linkLink copied to clipboard!
Update the backends for a route
Example usage
6.1.109. oc set selector Copy linkLink copied to clipboard!
Set the selector on a resource
Example usage
Set the labels and selector before creating a deployment/service pair.
# Set the labels and selector before creating a deployment/service pair.
oc create service clusterip my-svc --clusterip="None" -o yaml --dry-run | oc set selector --local -f - 'environment=qa' -o yaml | oc create -f -
oc create deployment my-dep -o yaml --dry-run | oc label --local -f - environment=qa -o yaml | oc create -f -
6.1.110. oc set serviceaccount Copy linkLink copied to clipboard!
Update the service account of a resource
Example usage
Set deployment nginx-deployment's service account to serviceaccount1
# Set deployment nginx-deployment's service account to serviceaccount1
oc set serviceaccount deployment nginx-deployment serviceaccount1
# Print the result (in YAML format) of updated nginx deployment with service account from a local file, without hitting the API server
oc set sa -f nginx-deployment.yaml serviceaccount1 --local --dry-run -o yaml
6.1.111. oc set subject Copy linkLink copied to clipboard!
Update the user, group, or service account in a role binding or cluster role binding
Example usage
6.1.112. oc set volumes Copy linkLink copied to clipboard!
Update volumes on a pod template
Example usage
6.1.113. oc tag Copy linkLink copied to clipboard!
Tag existing images into image streams
Example usage
6.1.114. oc version Copy linkLink copied to clipboard!
Print the client and server version information
Example usage
6.1.115. oc wait Copy linkLink copied to clipboard!
Experimental: Wait for a specific condition on one or many resources
Example usage
6.2. OpenShift CLI (oc) administrator commands Copy linkLink copied to clipboard!
6.2.1. oc adm inspect Copy linkLink copied to clipboard!
Collect debugging data for a given resource
Example usage
6.2.2. oc adm release extract Copy linkLink copied to clipboard!
Extract the contents of an update payload to disk
Example usage
6.2.3. oc adm release info Copy linkLink copied to clipboard!
Display information about a release
Example usage
6.2.4. oc adm taint Copy linkLink copied to clipboard!
Update the taints on nodes
Example usage