1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/docs/man/docker-cp.1.md
Mary Anthony 9a78ed8f48 Clarify behavior of docker cp
The STDOUT behavior of cp is not yet released in 1.50 so removed.
Also, tested against 1.5 all other behaviors and extended documentation to match.
Renamed HOSTPATH to HOSTDIR to give a self documenting name.

Adding back in the references to STDOUT
fix the command string
Entering Doug's comment re append and ~/tmp/foo in the glass
Adding in Doug's comments regarding PATHs and missing |-
Updating with James comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-03-16 12:44:28 -07:00

2.4 KiB

% DOCKER(1) Docker User Manuals % Docker Community % JUNE 2014

NAME

docker-cp - Copy files or folders from a container's PATH to a HOSTDIR or to STDOUT.

SYNOPSIS

docker cp [--help] CONTAINER:PATH HOSTDIR|-

DESCRIPTION

Copy files or folders from a CONTAINER:PATH to the HOSTDIR or to STDOUT. The CONTAINER:PATH is relative to the root of the container's filesystem. You can copy from either a running or stopped container.

The PATH can be a file or directory. The docker cp command assumes all PATH values start at the / (root) directory. This means supplying the initial forward slash is optional; The command sees compassionate_darwin:/tmp/foo/myfile.txt and compassionate_darwin:tmp/foo/myfile.txt as identical.

The HOSTDIR refers to a directory on the host. If you do not specify an absolute path for your HOSTDIR value, Docker creates the directory relative to where you run the docker cp command. For example, suppose you want to copy the /tmp/foo directory from a container to the /tmp directory on your host. If you run docker cp in your ~ (home) directory on the host:

	$ docker cp compassionate_darwin:tmp/foo /tmp

Docker creates a /tmp/foo directory on your host. Alternatively, you can omit the leading slash in the command. If you execute this command from your home directory:

	$ docker cp compassionate_darwin:tmp/foo tmp

Docker creates a ~/tmp/foo subdirectory.

When copying files to an existing HOSTDIR, the cp command adds the new files to the directory. For example, this command:

	$ docker cp sharp_ptolemy:/tmp/foo/myfile.txt /tmp

Creates a /tmp/foo directory on the host containing the myfile.txt file. If you repeat the command but change the filename:

	$ docker cp sharp_ptolemy:/tmp/foo/secondfile.txt /tmp

Your host's /tmp/foo directory will contain both files:

	$ ls /tmp/foo
	myfile.txt secondfile.txt

Finally, use '-' to write the data as a tar file to STDOUT.

OPTIONS

--help Print usage statement

EXAMPLES

An important shell script file, created in a bash shell, is copied from the exited container to the current dir on the host:

# docker cp c071f3c3ee81:setup.sh .

HISTORY

April 2014, Originally compiled by William Henry (whenry at redhat dot com) based on docker.com source material and internal work. June 2014, updated by Sven Dowideit SvenDowideit@home.org.au