This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.Este conteúdo não está disponível no idioma selecionado.
Chapter 4. Developer CLI Operations
4.1. Overview Copiar o linkLink copiado para a área de transferência!
This topic provides information on the developer CLI operations and their syntax. You must setup and login with the CLI before you can perform these operations.
The developer CLI uses the oc
command, and is used for project-level operations. This differs from the administrator CLI, which uses the oadm
command for more advanced, administrator operations.
4.2. Common Operations Copiar o linkLink copiado para a área de transferência!
The developer CLI allows interaction with the various objects that are managed by OpenShift Enterprise. Many common oc
operations are invoked using the following syntax:
oc <action> <object_type> <object_name>
$ oc <action> <object_type> <object_name>
This specifies:
-
An
<action>
to perform, such asget
ordescribe
. -
The
<object_type>
to perform the action on, such asservice
or the abbreviatedsvc
. -
The
<object_name>
of the specified<object_type>
.
For example, the oc get
operation returns a complete list of services that are currently defined:
oc get svc
$ oc get svc
NAME LABELS SELECTOR IP PORT(S)
docker-registry docker-registry=default docker-registry=default 172.30.78.158 5000/TCP
kubernetes component=apiserver,provider=kubernetes <none> 172.30.0.2 443/TCP
kubernetes-ro component=apiserver,provider=kubernetes <none> 172.30.0.1 80/TCP
The oc describe
operation can then be used to return detailed information about a specific object:
Versions of oc
prior to 3.0.2.0 did not have the ability to negotiate API versions against a server. So if you are using oc
up to 3.0.1.0 with a server that only supports v1 or higher versions of the API, make sure to pass --api-version
in order to point the oc
client to the correct API endpoint. For example: oc get svc --api-version=v1
.
4.3. Object Types Copiar o linkLink copiado para a área de transferência!
The CLI supports the following object types, some of which have abbreviated syntax:
Object Type | Abbreviated Version |
---|---|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
| |
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
4.4. Basic CLI Operations Copiar o linkLink copiado para a área de transferência!
The following table describes basic oc
operations and their general syntax:
4.4.1. types Copiar o linkLink copiado para a área de transferência!
Display an introduction to some core OpenShift Enterprise concepts:
oc types
$ oc types
4.4.2. login Copiar o linkLink copiado para a área de transferência!
Log in to the OpenShift Enterprise server:
oc login
$ oc login
4.4.3. logout Copiar o linkLink copiado para a área de transferência!
End the current session:
oc logout
$ oc logout
4.4.4. new-project Copiar o linkLink copiado para a área de transferência!
Create a new project:
oc new-project <project_name>
$ oc new-project <project_name>
4.4.5. new-app Copiar o linkLink copiado para a área de transferência!
Creates a new application based on the source code in the current directory:
oc new-app .
$ oc new-app .
4.4.6. status Copiar o linkLink copiado para a área de transferência!
Show an overview of the current project:
oc status
$ oc status
4.4.7. project Copiar o linkLink copiado para a área de transferência!
Switch to another project. Run without options to display the current project. To view all projects you have access to run oc projects
. Run without options to display the current project. To view all projects you have access to run oc projects
.
oc project <project_name>
$ oc project <project_name>
4.5. Application Modification CLI Operations Copiar o linkLink copiado para a área de transferência!
4.5.1. get Copiar o linkLink copiado para a área de transferência!
Return a list of objects for the specified object type. If the optional <object_name>
is included in the request, then the list of results is filtered by that value.
oc get <object_type> [<object_name>]
$ oc get <object_type> [<object_name>]
4.5.2. describe Copiar o linkLink copiado para a área de transferência!
Returns information about the specific object returned by the query. A specific <object_name>
must be provided. The actual information that is available varies as described in object type.
oc describe <object_type> <object_name>
$ oc describe <object_type> <object_name>
4.5.3. edit Copiar o linkLink copiado para a área de transferência!
Edit the desired object type:
oc edit <object_type>/<object_name>
$ oc edit <object_type>/<object_name>
Edit the desired object type with a specified text editor:
OC_EDITOR="<text_editor>" oc edit <object_type>/<object_name>
$ OC_EDITOR="<text_editor>" oc edit <object_type>/<object_name>
Edit the desired object in a specified format (eg: JSON):
oc edit <object_type>/<object_name> \ --output-version=<object_type_version> \ -o <object_type_format>
$ oc edit <object_type>/<object_name> \
--output-version=<object_type_version> \
-o <object_type_format>
4.5.4. env Copiar o linkLink copiado para a área de transferência!
Update the desired object type with a new environment variable:
oc env <object_type>/<object_name> <var_name>=<value>
$ oc env <object_type>/<object_name> <var_name>=<value>
4.5.5. volume Copiar o linkLink copiado para a área de transferência!
Modify a volume:
oc volume <object_type>/<object_name> [--option]
$ oc volume <object_type>/<object_name> [--option]
4.5.6. label Copiar o linkLink copiado para a área de transferência!
Update the labels on a object:
oc label <object_type> <object_name> <label>
$ oc label <object_type> <object_name> <label>
4.5.7. expose Copiar o linkLink copiado para a área de transferência!
Look up a service and expose it as a route. There is also the ability to expose a deployment configuration, replication controller, service, or pod as a new service on a specified port. If no labels are specified, the new object will re-use the labels from the object it exposes.
oc expose <object_type> <object_name>
$ oc expose <object_type> <object_name>
4.5.8. delete Copiar o linkLink copiado para a área de transferência!
Delete the specified object. An object configuration can also be passed in through STDIN. The oc delete all -l <label>
operation deletes all objects matching the specified <label>
, including the replication controller so that pods are not re-created.
oc delete -f <file_path>
$ oc delete -f <file_path>
oc delete <object_type> <object_name>
$ oc delete <object_type> <object_name>
oc delete <object_type> -l <label>
$ oc delete <object_type> -l <label>
oc delete all -l <label>
$ oc delete all -l <label>
4.6. Build and Deployment CLI Operations Copiar o linkLink copiado para a área de transferência!
One of the fundamental capabilities of OpenShift Enterprise is the ability to build applications into a container from source.
OpenShift Enterprise provides CLI access to inspect and manipulate deployment configurations using standard oc
resource operations, such as get
, create
, and describe
.
4.6.1. start-build Copiar o linkLink copiado para a área de transferência!
Manually start the build process with the specified build configuration file:
oc start-build <buildconfig_name>
$ oc start-build <buildconfig_name>
Manually start the build process by specifying the name of a previous build as a starting point:
oc start-build --from-build=<build_name>
$ oc start-build --from-build=<build_name>
Manually start the build process by specifying either a configuration file or the name of a previous build and retrieve its build logs:
oc start-build --from-build=<build_name> --follow
$ oc start-build --from-build=<build_name> --follow
oc start-build <buildconfig_name> --follow
$ oc start-build <buildconfig_name> --follow
Wait for a build to complete and exit with a non-zero return code if the build fails:
oc start-build --from-build=<build_name> --wait
$ oc start-build --from-build=<build_name> --wait
Set or override environment variables for the current build without changing the build configuration. Alternatively, use -e
.
oc start-build --env <var_name>=<value>
$ oc start-build --env <var_name>=<value>
Set or override the default build log level output during the build:
oc start-build --build-loglevel [0-5]
$ oc start-build --build-loglevel [0-5]
Specify the source code commit identifier the build should use; requires a build based on a Git repository:
oc start-build --commit=<hash>
$ oc start-build --commit=<hash>
Re-run build with name <build_name>
:
oc start-build --from-build=<build_name>
$ oc start-build --from-build=<build_name>
Archive <dir_name>
and build with it as the binary input:
oc start-build --from-dir=<dir_name>
$ oc start-build --from-dir=<dir_name>
Use <file_name>
as the binary input for the build. This file must be the only one in the build source. For example, pom.xml or Dockerfile.
oc start-build --from-file=<file_name>
$ oc start-build --from-file=<file_name>
The path to a local source code repository to use as the binary input for a build:
oc start-build --from-repo=<path_to_repo>
$ oc start-build --from-repo=<path_to_repo>
Specify a webhook URL for an existing build configuration to trigger:
oc start-build --from-webhook=<webhook_URL>
$ oc start-build --from-webhook=<webhook_URL>
The contents of the post-receive hook to trigger a build:
oc start-build --git-post-receive=<contents>
$ oc start-build --git-post-receive=<contents>
The path to the Git repository for post-receive; defaults to the current directory:
oc start-build --git-repository=<path_to_repo>
$ oc start-build --git-repository=<path_to_repo>
List the webhooks for the specified build configuration or build; accepts all
, generic
, or github
:
oc start-build --list-webhooks
$ oc start-build --list-webhooks
4.6.2. deploy Copiar o linkLink copiado para a área de transferência!
View a deployment, or manually start, cancel, or retry a deployment:
oc deploy <deploymentconfig>
$ oc deploy <deploymentconfig>
4.6.3. rollback Copiar o linkLink copiado para a área de transferência!
Perform a rollback:
oc rollback <deployment_name>
$ oc rollback <deployment_name>
4.6.4. new-build Copiar o linkLink copiado para a área de transferência!
Create a build configuration based on the source code in the current Git repository (with a public remote) and a Docker image:
oc new-build .
$ oc new-build .
4.6.5. cancel-build Copiar o linkLink copiado para a área de transferência!
Stop a build that is in progress:
oc cancel-build <build_name>
$ oc cancel-build <build_name>
4.6.6. import-image Copiar o linkLink copiado para a área de transferência!
Import tag and image information from an external Docker image repository:
oc import-image <imagestream>
$ oc import-image <imagestream>
4.6.7. scale Copiar o linkLink copiado para a área de transferência!
Set the number of desired replicas for a replication controller or a deployment configuration to the number of specified replicas:
oc scale <object_type> <object_name> --replicas=<#_of_replicas>
$ oc scale <object_type> <object_name> --replicas=<#_of_replicas>
4.6.8. tag Copiar o linkLink copiado para a área de transferência!
Take an existing tag or image from an image stream, or a Docker image pull spec, and set it as the most recent image for a tag in one or more other image streams:
oc tag <current_image> <image_stream>
$ oc tag <current_image> <image_stream>
4.7. Advanced Commands Copiar o linkLink copiado para a área de transferência!
4.7.1. create Copiar o linkLink copiado para a área de transferência!
Parse a configuration file and create one or more OpenShift Enterprise objects based on the file contents. The -f
flag can be passed multiple times with different file or directory paths. When the flag is passed multiple times, oc create
iterates through each one, creating the objects described in all of the indicated files. Any existing resources are ignored.
oc create -f <file_or_dir_path>
$ oc create -f <file_or_dir_path>
4.7.2. update Copiar o linkLink copiado para a área de transferência!
Attempt to modify an existing object based on the contents of the specified configuration file. The -f
flag can be passed multiple times with different file or directory paths. When the flag is passed multiple times, oc update
iterates through each one, updating the objects described in all of the indicated files.
oc update -f <file_or_dir_path>
$ oc update -f <file_or_dir_path>
4.7.3. process Copiar o linkLink copiado para a área de transferência!
Transform a project template into a project configuration file:
oc process -f <template_file_path>
$ oc process -f <template_file_path>
4.7.4. run Copiar o linkLink copiado para a área de transferência!
Create and run a particular image, possibly replicated. Create a deployment configuration to manage the created container(s). You can choose to run in the foreground for an interactive container execution.
4.7.5. export Copiar o linkLink copiado para a área de transferência!
Export resources to be used elsewhere:
oc export <object_type> [--options]
$ oc export <object_type> [--options]
4.7.6. policy Copiar o linkLink copiado para a área de transferência!
Manage authorization policies:
oc policy [--options]
$ oc policy [--options]
4.7.7. secrets Copiar o linkLink copiado para a área de transferência!
Configure secrets:
oc secrets [--options] path/to/ssh_key
$ oc secrets [--options] path/to/ssh_key
4.8. Troubleshooting and Debugging CLI Operations Copiar o linkLink copiado para a área de transferência!
4.8.1. logs Copiar o linkLink copiado para a área de transferência!
Retrieve the log output for a specific build, deployment, or pod. This command works for builds, build configurations, deployment configurations, and pods.
oc logs -f <pod>
$ oc logs -f <pod>
4.8.2. exec Copiar o linkLink copiado para a área de transferência!
Execute a command in an already-running container. You can optionally specify a container ID, otherwise it defaults to the first container.
oc exec <pod> [-c <container>] <command>
$ oc exec <pod> [-c <container>] <command>
4.8.3. rsh Copiar o linkLink copiado para a área de transferência!
Open a remote shell session to a container:
oc rsh <pod>
$ oc rsh <pod>
4.8.4. rsync Copiar o linkLink copiado para a área de transferência!
Copy contents of local directory to a directory in an already-running pod container. It will default to the first container if none is specified.
oc rsync <local_dir> <pod>:<pod_dir> -c <container>
$ oc rsync <local_dir> <pod>:<pod_dir> -c <container>
4.8.5. port-forward Copiar o linkLink copiado para a área de transferência!
Forward one or more local ports to a pod:
oc port-forward <pod> <local_port>:<remote_port>
$ oc port-forward <pod> <local_port>:<remote_port>
4.8.6. proxy Copiar o linkLink copiado para a área de transferência!
Run a proxy to the Kubernetes API server:
oc proxy --port=<port> --www=<static_directory>
$ oc proxy --port=<port> --www=<static_directory>
For security purposes, the oc exec
command does not work when accessing privileged containers. Instead, administrators can SSH into a node host, then use the docker exec
command on the desired container.