-
Notifications
You must be signed in to change notification settings - Fork 177
Update README to reflect the UX changes in Docker App #734
Conversation
Codecov Report
@@ Coverage Diff @@
## master #734 +/- ##
=======================================
Coverage 68.98% 68.98%
=======================================
Files 64 64
Lines 3437 3437
=======================================
Hits 2371 2371
Misses 748 748
Partials 318 318 Continue to review full report at Codecov.
|
README.md
Outdated
1. You have several environments where you want to deploy the application, with small configuration differences | ||
1. You have lots of similar applications | ||
* Simple management of Docker Apps across different teams and between different environments (Development/QA/Staging/Production) | ||
* Easy sharing of multi-service applications to container registries (e.g., [Docker Hub](https://hub.docker.com/) or [Docker Trusted Registry](https://docs.docker.com/ee/dtr/)) via multiple Docker images |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why multiple Docker images? 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right, I have corrected that.
9a720b8
to
acbaf70
Compare
README.md
Outdated
|
||
### Writing an App definition | ||
|
||
The first step in using Docker App is to write the App definition. This definition can be created (1) from an existing Compose file using the `docker app init` command (2) via a template from the Application Designer, or (3) from scratch. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add a link to an official page explaining what is Application Designer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, link added to documentation
README.md
Outdated
|
||
The App definition is a .dockerapp folder that contains three distinct pieces: metadata, a service list, and the parameters. | ||
|
||
metadata | Includes the App name and version; provides better traceability back to code changes when debugging issues |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes it is supposed to render as a table
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see it is not correctly rendered. Will double check.
README.md
Outdated
|
||
metadata | Includes the App name and version; provides better traceability back to code changes when debugging issues | ||
service list | Defined in a Compose file | ||
parameters | Settings that can be changed when running the App |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add "YAML formatted"? as we specify it's a Compose file for service list
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added the .yml extension in the table
README.md
Outdated
The App definition is a .dockerapp folder that contains three distinct pieces: metadata, a service list, and the parameters. | ||
|
||
metadata | Includes the App name and version; provides better traceability back to code changes when debugging issues | ||
service list | Defined in a Compose file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a link to the Compose v3 reference?
[Compose file](https://docs.docker.com/compose/compose-file/)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
README.md
Outdated
### Building an App image | ||
|
||
Once the App definition is written, the next step is to build the App image from the App definition using the `docker app build` command. With this command you can tag your App image, set build-time variables, or make the build quiet. | ||
Note that service images inside of an App image are immutable, meaning that the App version ties to a fixed list of service images (i.e., updating the images inside of a Docker App requires recreating the App image). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
requires re-building the App image
instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right. Modified.
README.md
Outdated
|
||
```console | ||
$ docker app init hello | ||
$ docker app init --compose-file docker-compose.yml hello | ||
Created "hello.dockerapp" | ||
$ ls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can use the tree
command here
$ tree
.
├── docker-compose.yml
└── voting-app.dockerapp
├── docker-compose.yml
├── metadata.yml
└── parameters.yml
1 directory, 4 files
And maybe also add a note that the first docker-compose.yml
file is not used anymore?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
3de9660
to
440a48f
Compare
README.md
Outdated
* Support for multiple orchestrators (Swarm or Kubernetes) | ||
* Provides the very same UX flow as the one for Docker images | ||
* Implements the [CNAB](https://cnab.io) industry standard | ||
* Offers full support of Docker Contexts |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/of/for/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
README.md
Outdated
### Building an App image | ||
|
||
Once the App definition is written, the next step is to build the App image from the App definition using the `docker app build` command. With this command you can tag your App image, set build-time variables, or make the build quiet. | ||
Note that service images inside of an App image are immutable, meaning that the App version ties to a fixed list of service images (i.e., updating the images inside of a Docker App requires rebuilding the App image). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want to say why this is the case? i.e.: as this makes deploying applications more deterministic
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added
README.md
Outdated
|
||
### Sharing the App on the Hub | ||
|
||
You can push any App image already built or pulled to Docker Hub (or any registry) using the `docker app push` command. You can also pull App images from any container registry using the `docker app pull` command. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/registry/OCI compliant registry/
You can link OCI to https://www.opencontainers.org
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
README.md
Outdated
|
||
## Example | ||
|
||
Using the [hello-world](https://github.com/docker/app/tree/master/examples/hello-world) application example, we are going to build, share, and run a Docker App that launches an HTTP server that prints the text variable value when hit on the configured port. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can replace https://github.com/docker/app/tree/master/examples/hello-world with ./examples/hello-world
or examples/hello-world
. GitHub markdown supports relative paths.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Removing network hello_default | ||
``` | ||
Docker Apps are Docker’s implementation of the industry standard Cloud Native Application Bundle (CNAB). [CNAB](https://cnab.io/) is an industry specification put in place to facilitate the bundling, sharing, installing and managing of cloud-native apps that are not only made up of containers but also from such things as hosted databases, functions, etc. | ||
Docker App is designed to abstract as many CNAB specifics as possible, to provide users with a tool that is easy to use while alleviating the need to bother with the CNAB specification. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be good to add the positive side of the specification: interoperability and a common storage mechanism
It requires [Docker CLI](https://download.docker.com) 19.03.0 or later with experimental features enabled. | ||
Either set environment variable `DOCKER_CLI_EXPERIMENTAL=enabled` | ||
or update your [docker CLI configuration](https://docs.docker.com/engine/reference/commandline/cli/#experimental-features). | ||
Docker App is a *command line* plugin (not be confused with *docker engine plugins*) that extends the `docker` command with `app` sub-commands. It requires [Docker CLI](https://download.docker.com/) 19.03.0 or later, with experimental features enabled. Either set environment variable `DOCKER_CLI_EXPERIMENTAL=enabled` or update your [docker CLI configuration](https://docs.docker.com/engine/reference/commandline/cli/#experimental-features). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/It requires/It requires the/
Signed-off-by: Caroline Briaud <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with very minor changes
440a48f
to
c2e6ef4
Compare
Signed-off-by: Caroline Briaud [email protected]
- What I did
Update README to reflect the UX changes in Docker App
- How to verify it
Read the README
- A picture of a cute animal (not mandatory)