mirror of https://github.com/docker/cli.git
Use git url fragment to specify reference and dir context.
Signed-off-by: David Calavera <david.calavera@gmail.com>
This commit is contained in:
parent
c6bcaacce7
commit
bbfd8f5e04
|
@ -652,13 +652,36 @@ an [*ADD*](/reference/builder/#add) instruction to reference a file in the
|
|||
context.
|
||||
|
||||
The `URL` parameter can specify the location of a Git repository;
|
||||
the repository acts as the build context. The system recursively clones the repository
|
||||
the repository acts as the build context. The system recursively clones the repository
|
||||
and its submodules using a `git clone --depth 1 --recursive` command.
|
||||
This command runs in a temporary directory on your local host.
|
||||
After the command succeeds, the directory is sent to the Docker daemon as the context.
|
||||
Local clones give you the ability to access private repositories using
|
||||
local user credentials, VPN's, and so forth.
|
||||
|
||||
Git URLs accept context configuration in their fragment section, separated by a colon `:`.
|
||||
The first part represents the reference that Git will check out, this can be either
|
||||
a branch, a tag, or a commit SHA. The second part represents a subdirectory
|
||||
inside the repository that will be used as a build context.
|
||||
|
||||
For example, run this command to use a directory called `docker` in the branch `container`:
|
||||
|
||||
$ docker build https://github.com/docker/rootfs.git#container:docker
|
||||
|
||||
The following table represents all the valid suffixes with their build contexts:
|
||||
|
||||
Build Syntax Suffix | Commit Used | Build Context Used
|
||||
--------------------|-------------|-------------------
|
||||
`myrepo.git` | `refs/heads/master` | `/`
|
||||
`myrepo.git#mytag` | `refs/tags/mytag` | `/`
|
||||
`myrepo.git#mybranch` | `refs/heads/mybranch` | `/`
|
||||
`myrepo.git#abcdef` | `sha1 = abcdef` | `/`
|
||||
`myrepo.git#:myfolder` | `refs/heads/master` | `/myfolder`
|
||||
`myrepo.git#master:myfolder` | `refs/heads/master` | `/myfolder`
|
||||
`myrepo.git#mytag:myfolder` | `refs/tags/mytag` | `/myfolder`
|
||||
`myrepo.git#mybranch:myfolder` | `refs/heads/mybranch` | `/myfolder`
|
||||
`myrepo.git#abcdef:myfolder` | `sha1 = abcdef` | `/myfolder`
|
||||
|
||||
Instead of specifying a context, you can pass a single Dockerfile in the
|
||||
`URL` or pipe the file in via `STDIN`. To pipe a Dockerfile from `STDIN`:
|
||||
|
||||
|
|
Loading…
Reference in New Issue