diff --git a/DOCS.md b/DOCS.md index c27c472..3c9dde1 100644 --- a/DOCS.md +++ b/DOCS.md @@ -22,40 +22,16 @@ The following parameters are used to configure the plugin: * **build_args** - [build arguments](https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables-build-arg) to pass to `docker build` * **mtu** - custom [mtu settings](https://docs.docker.com/v1.8/articles/networking/#docker0) when starting the docker daemon -The following secret values can be set to configure the plugin. +--- +date: 2016-01-01T00:00:00+00:00 +title: Docker +author: drone-plugins +tags: [ publish, docker ] +repo: drone-plugins/drone-docker +image: plugins/drone +--- -* **DOCKER_REGISTRY** - corresponds to **registry** -* **DOCKER_USERNAME** - corresponds to **username** -* **DOCKER_PASSWORD** - corresponds to **password** -* **DOCKER_EMAIL** - corresponds to **email** - -It is highly recommended to put the **DOCKER_USERNAME**, **DOCKER_PASSWORD** -and **DOCKER_EMAIL** into secrets so it is not exposed to users. This can be -done using the drone-cli. - -```bash -drone secret add --image=plugins/docker \ - octocat/hello-world DOCKER_USERNAME kevinbacon - -drone secret add --image=plugins/docker \ - octocat/hello-world DOCKER_PASSWORD pa55word - -drone secret add --image=plugins/docker \ - octocat/hello-world DOCKER_EMAIL kevin.bacon@mail.com -``` - -Then sign the YAML file after all secrets are added. - -```bash -drone sign octocat/hello-world -``` - -See [secrets](http://readme.drone.io/0.5/usage/secrets/) for additional -information on secrets - -## Examples - -Simple publishing of a docker container: +The Docker plugin can be used to build and publish images to the Docker registry. The following pipeline configuration uses the Docker plugin to build and publish Docker images: ```yaml pipeline: @@ -65,11 +41,157 @@ pipeline: password: pa55word email: kevin.bacon@mail.com repo: foo/bar - tag: latest - dockerfile: Dockerfile - insecure: false + tags: latest ``` +Example configuration using multiple tags: + +```diff +pipeline: + docker: + image: plugins/docker + repo: foo/bar +- tags: latest ++ tags: ++ - latest ++ - 1.0.1 ++ - 1.0 +``` + +Example configuration using build arguments: + +```diff +publish: + docker: + image: plugins/docker + repo: foo/bar ++ build_args: ++ - HTTP_PROXY=http://yourproxy.com +``` + +Example configuration using alternate Dockerfile: + +```diff +publish: + docker: + image: plugins/docker + repo: foo/bar +- dockerfile: Dockerfile ++ dockerfile: path/to/Dockerfile +``` + +Example configuration using a custom registry: + +```diff +pipeline: + docker: + image: plugins/docker +- repo: foo/bar ++ repo: index.company.com/foo/bar ++ registry: index.company.com +``` + +Example configuration using inline credentials: + +```diff +pipeline: + docker: + image: plugins/docker ++ username: kevinbacon ++ password: pa55word + repo: foo/bar +``` + +# Secrets + +The Docker plugin supports reading credentials from the Drone secret store. This is strongly recommended instead of storing credentials in the pipeline configuration in plain text. + +```diff +pipeline: + docker: + image: plugins/docker +- username: kevinbacon +- password: pa55word + repo: foo/bar +``` + +Use the command line utility to add secrets to the store: + +```nohighlight +drone secret add --image=plugins/docker \ + octocat/hello-world DOCKER_USERNAME kevinbacon + +drone secret add --image=plugins/docker \ + octocat/hello-world DOCKER_PASSWORD pa55word +``` + +Don't forget to sign the Yaml after making changes: + +```nohighlight +drone sign octocat/hello-world +``` + +# Secret Reference + +DOCKER_USERNAME +: docker registry username + +DOCKER_PASSWORD +: docker registry password + +DOCKER_EMAIL +: docker registry email + +# Parameter Reference + +registry +: authenticates to this registry + +username +: authenticates with this username + +password +: authenticates with this password + +email +: authenticates with this email + +repo +: repository name for the image + +tags +: repository tag for the image + +dockerfile +: dockerfile to be used, defaults to Dockerfile + +auth +: auth token for the registry + +context +: the context path to use, defaults to root of the git repo + +force_tag=false +: replace existing matched image tags + +insecure=false +: enable insecure communication to this registry + +mirror +: use a mirror registry instead of pulling images directly from the central Hub + +bip=false +: use for pass bridge ip + +dns +: set custom dns servers for the container + +storage_driver +: supports `aufs`, `overlay` or `vfs` drivers + +build_args +: custom arguments passed to docker build + Publish an image with multiple tags: ```yaml