oc-image-extract man page

oc image extract — Copy files from an image to the filesystem

Synopsis

oc image extract [Options]

Description

Extract the contents of an image to disk

Download an image or parts of an image to the filesystem. Allows users to access the contents of images without requiring a container runtime engine running.

Pass images to extract as arguments. The --paths flag allows you to define multiple source to destination directory mappings. The source section may be either a file, a directory (ends with a '/'), or a file pattern within a directory. The destination section is a directory to extract to. Both source and destination must be specified.

If the specified image supports multiple operating systems, the image that matches the current operating system will be chosen. Otherwise you must pass --filter-by-os to select the desired image.

You may further qualify the image by adding a layer selector to the end of the image string to only extract specific layers within an image. The supported selectors are:

[ <index>] - select the layer at the provided index (zero-indexed)  [ <from_index>, <to_index>] - select layers by index, exclusive  [  <prefix>] - select the layer with the matching prefix or return an error

Negative indices are counted from the end of the list, e.g. [-1] selects the last layer.

Experimental: This command is under active development and may change without notice.

Options

--dry-run=false

Print the actions that would be taken and exit without writing any contents.

--filter-by-os=""

A regular expression to control which images are mirrored. Images will be passed as '<platform>/<architecture>[/<variant>]'.

--insecure=false

Allow pull operations to registries to be made over HTTP

--only-files=false

Only extract regular files and directories from the image.

--path=[/:.]

Extract only part of an image. Must be SRC:DST where SRC is the path within the image and DST a local directory. If not specified the default is to extract everything to the current directory.

Options Inherited from Parent Commands

--allow_verification_with_non_compliant_keys=false

Allow a SignatureVerifier to use keys which are technically non-compliant with RFC6962.

--alsologtostderr=false

log to standard error as well as files

--application_metrics_count_limit=100

Max number of application metrics to store (per container)

--as=""

Username to impersonate for the operation

--as-group=[]

Group to impersonate for the operation, this flag can be repeated to specify multiple groups.

--azure-container-registry-config=""

Path to the file containing Azure container registry configuration information.

--boot_id_file="/proc/sys/kernel/random/boot_id"

Comma-separated list of files to check for boot-id. Use the first one that exists.

--cache-dir="/builddir/.kube/http-cache"

Default HTTP cache directory

--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

--cloud-provider-gce-lb-src-cidrs=130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16

CIDRs opened in GCE firewall for LB traffic proxy health checks

--cluster=""

The name of the kubeconfig cluster to use

--container_hints="/etc/cadvisor/container_hints.json"

location of the container hints file

--containerd="unix:///var/run/containerd.sock"

containerd endpoint

--context=""

The name of the kubeconfig context to use

--default-not-ready-toleration-seconds=300

Indicates the tolerationSeconds of the toleration for notReady:NoExecute that is added by default to every pod that does not already have such a toleration.

--default-unreachable-toleration-seconds=300

Indicates the tolerationSeconds of the toleration for unreachable:NoExecute that is added by default to every pod that does not already have such a toleration.

--docker="unix:///var/run/docker.sock"

docker endpoint

--docker-tls=false

use TLS to connect to docker

--docker-tls-ca="ca.pem"

path to trusted CA

--docker-tls-cert="cert.pem"

path to client certificate

--docker-tls-key="key.pem"

path to private key

--docker_env_metadata_whitelist=""

a comma-separated list of environment variable keys that needs to be collected for docker containers

--docker_only=false

Only report docker containers in addition to root stats

--docker_root="/var/lib/docker"

DEPRECATED: docker root is read from docker info (this is a fallback, default: /var/lib/docker)

--enable_load_reader=false

Whether to enable cpu load reader

--event_storage_age_limit="default=24h"

Max length of time for which to store events (per type). Value is a comma separated list of key values, where the keys are event types (e.g.: creation, oom) or "default" and the value is a duration. Default is applied to all non-specified event types

--event_storage_event_limit="default=100000"

Max number of events to store (per type). Value is a comma separated list of key values, where the keys are event types (e.g.: creation, oom) or "default" and the value is an integer. Default is applied to all non-specified event types

--global_housekeeping_interval=0

Interval between global housekeepings

--housekeeping_interval=0

Interval between container housekeepings

--httptest.serve=""

if non-empty, httptest.NewServer serves on this address and blocks

--insecure-skip-tls-verify=false

If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure

--kubeconfig=""

Path to the kubeconfig file to use for CLI requests.

--log-flush-frequency=0

Maximum number of seconds between log flushes

--log_backtrace_at=:0

when logging hits line file:N, emit a stack trace

--log_cadvisor_usage=false

Whether to log the usage of the cAdvisor container

--log_dir=""

If non-empty, write log files in this directory

--logtostderr=true

log to standard error instead of files

--machine_id_file="/etc/machine-id,/var/lib/dbus/machine-id"

Comma-separated list of files to check for machine-id. Use the first one that exists.

--match-server-version=false

Require server version to match client version

-n, --namespace=""

If present, the namespace scope for this CLI request

--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.

-s, --server=""

The address and port of the Kubernetes API server

--stderrthreshold=2

logs at or above this threshold go to stderr

--storage_driver_buffer_duration=0

Writes in the storage driver will be buffered for this duration, and committed to the non memory backends as a single transaction

--storage_driver_db="cadvisor"

database name

--storage_driver_host="localhost:8086"

database host:port

--storage_driver_password="root"

database password

--storage_driver_secure=false

use secure connection with database

--storage_driver_table="stats"

table name

--storage_driver_user="root"

database username

--token=""

Bearer token for authentication to the API server

--user=""

The name of the kubeconfig user to use

-v, --v=0

log level for V logs

--version=false

Print version information and quit

--vmodule=

comma-separated list of pattern=N settings for file-filtered logging

Example

  # Extract the busybox image into the current directory
  oc image docker.io/library/busybox:latest
  
  # Extract the busybox image to a temp directory (must exist)
  oc image docker.io/library/busybox:latest --path /:/tmp/busybox
  
  # Extract a single file from the image into the current directory
  oc image docker.io/library/centos:7 --path /bin/bash:.
  
  # Extract all .repo files from the image's /etc/yum.repos.d/ folder.
  oc image docker.io/library/centos:7 --path /etc/yum.repos.d/*.repo:.
  
  # Extract the last layer in the image
  oc image docker.io/library/centos:7[-1]
  
  # Extract the first three layers of the image
  oc image docker.io/library/centos:7[:3]
  
  # Extract the last three layers of the image
  oc image docker.io/library/centos:7[-3:]

See Also

oc-image(1),

History

June 2016, Ported from the Kubernetes man-doc generator

Referenced By

oc-image(1).

Openshift CLI User Manuals June 2016