diff --git a/docs/advanced-usage/repository-management.md b/docs/advanced-usage/repository-management.md index 45714956b..9cee535aa 100644 --- a/docs/advanced-usage/repository-management.md +++ b/docs/advanced-usage/repository-management.md @@ -9,7 +9,9 @@ repo:purge-cache # Deletes the contents of the build cac The repository plugin is meant to allow users to perform management commands against a repository. -## Git Garbage Collection +## Usage + +### Git Garbage Collection This will run a git gc --agressive against the applications repo. This is performed on the Dokku host, and not within an application container. @@ -25,7 +27,7 @@ Writing objects: 100% (396/396), done. Total 396 (delta 79), reused 315 (delta 0) ``` -## Clearing Application cache +### Clearing Application cache Building containers with buildpacks currently results in a persistent `cache` directory between deploys. If you need to clear this cache directory for any reason, you may do so by running the following shell command: diff --git a/docs/deployment/application-management.md b/docs/deployment/application-management.md index 24a5845e7..9b44c3ebc 100644 --- a/docs/deployment/application-management.md +++ b/docs/deployment/application-management.md @@ -9,6 +9,10 @@ apps:destroy # Permanently destroy an app apps:rename # Rename an app ``` +## Usage + +### Listing Applications + You can easily list all available applications using the `apps` command: ```shell @@ -32,7 +36,7 @@ node-js-app python-app ``` -## Manually creating an application +### Manually creating an application A common pattern for deploying applications to Dokku is to configure an application before deploying it. You can do so via the `apps:create` command: @@ -50,7 +54,7 @@ Once created, you can configure the application as normal, and deploy the applic - create and link datastores - set environment variables -## Removing a deployed app +### Removing a deployed app In some cases, you may need to destroy an application, whether it is because the application is temporary or because it was misconfigured. In these cases, you can use the `apps:destroy` command. Performing any destructive actions in Dokku requires confirmation, and this command will ask for the name of the application being deleted before doing so. @@ -80,7 +84,7 @@ Destroying node-js-app (including all add-ons) Destroying an application will unlink all linked services and destroy any config related to the application. Note that linked services will retain their data for later use (or removal). -## Renaming a deployed app +### Renaming a deployed app > New as of 0.4.7 diff --git a/docs/deployment/methods/images.md b/docs/deployment/methods/images.md index 4c0f5d883..c76472b86 100644 --- a/docs/deployment/methods/images.md +++ b/docs/deployment/methods/images.md @@ -2,8 +2,6 @@ > New as of 0.4.0 -The dokku tags plugin allows you to add docker image tags to the currently deployed app image for versioning and subsequent deployment. - ``` tags # List all app image tags tags:create # Add tag to latest running app image @@ -11,6 +9,12 @@ tags:deploy # Deploy tagged app image tags:destroy # Remove app image tag ``` +The Dokku tags plugin allows you to add docker image tags to the currently deployed app image for versioning and subsequent deployment. + +## Usage + +### Listing tags for an application + For example, you can list all tags for a given application: ```shell @@ -23,6 +27,8 @@ REPOSITORY TAG IMAGE ID CREATED dokku/node-js-app latest 936a42f25901 About a minute ago 1.025 GB ``` +### Creating a tag + You can also create new tags for that app using the `tags:create` function. Tags should conform to the docker tagging specification for your docker version. As of 1.10, that specification is available [here](https://github.com/docker/docker/blob/master/image/spec/v1.1.md), while users of older versions can check the documentation [here](https://github.com/docker/docker/blob/master/image/spec/v1.md). ```shell @@ -46,6 +52,8 @@ dokku/node-js-app latest 936a42f25901 About a minute ago dokku/node-js-app v1 936a42f25901 About a minute ago 1.025 GB ``` +### Deploying an image tag + Finally, you can also deploy a local image using the `tags:deploy` command. ```shell @@ -79,11 +87,13 @@ dokku tags:deploy node-js-app v1 http://node-js-app.dokku.me ``` -## Deploying from a Docker Registry +## Image Workflows + +### Deploying from a Docker Registry You can alternatively add image pulled from a docker Registry and deploy app from it by using tagging feature. In this example, we are deploying from Docker Hub. -1. Create dokku app as usual +1. Create Dokku app as usual ```shell dokku apps:create test-app @@ -110,11 +120,11 @@ You can alternatively add image pulled from a docker Registry and deploy app fro > Note: When deploying an image, we will use `docker inspect` to extract the `ExposedPorts` configuration and if defined, use that to populate `DOKKU_DOCKERFILE_PORTS`. If this behavior is not desired, you can override that configuration variable with the `config:set` command. > Example: `dokku config:set test-app DOKKU_DOCKERFILE_PORTS="5984/tcp 80/tcp"` -## Deploying an image from CI +### Deploying an image from CI To ensure your builds are always reproducible, it's considered bad practice to store build artifacts in your repository. For some projects however, building artifacts during deployment -to dokku may affect the performance of running applications. +to Dokku may affect the performance of running applications. One solution is to build a finished Docker image on a CI service (or even locally) and deploy it directly to the host running dokku. @@ -126,7 +136,7 @@ it directly to the host running dokku. # Note: The image must be tagged `dokku/:` ``` -2. Deploy image to dokku host +2. Deploy image to Dokku host ```shell docker save dokku/test-app:v12 | ssh my.dokku.host "docker load | dokku tags:deploy test-app v12"