Skip to content
This repository has been archived by the owner on Jun 13, 2021. It is now read-only.

Update README to reflect the UX changes in Docker App #734

Merged
merged 1 commit into from
Nov 13, 2019

Conversation

carolinebriaud
Copy link
Contributor

@carolinebriaud carolinebriaud commented Nov 12, 2019

Signed-off-by: Caroline Briaud caroline.briaud@docker.com

- 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)
IMG

@codecov
Copy link

codecov bot commented Nov 12, 2019

Codecov Report

Merging #734 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           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.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 61e61a8...c2e6ef4. Read the comment docs.

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why multiple Docker images? 🤔

Copy link
Contributor Author

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.

@carolinebriaud carolinebriaud force-pushed the fix-readme branch 2 times, most recently from 9a720b8 to acbaf70 Compare November 12, 2019 15:08
@carolinebriaud carolinebriaud changed the title [WIP] Update README to reflect the UX changes in Docker App Update README to reflect the UX changes in Docker App Nov 12, 2019
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.
Copy link
Contributor

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?

Copy link
Contributor Author

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you intend drawing a table here? Because otherwise it looks weird
Screen Shot 2019-11-12 at 18 11 00

Copy link
Contributor Author

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

Copy link
Contributor Author

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
Copy link
Contributor

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

Copy link
Contributor Author

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
Copy link
Contributor

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/)

Copy link
Contributor Author

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).
Copy link
Contributor

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?

Copy link
Contributor Author

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 Show resolved Hide resolved
README.md Outdated

```console
$ docker app init hello
$ docker app init --compose-file docker-compose.yml hello
Created "hello.dockerapp"
$ ls
Copy link
Contributor

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?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@carolinebriaud carolinebriaud force-pushed the fix-readme branch 3 times, most recently from 3de9660 to 440a48f Compare November 13, 2019 12:19
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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/of/for/

Copy link
Contributor Author

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).
Copy link
Member

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

Copy link
Contributor Author

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.
Copy link
Member

@chris-crone chris-crone Nov 13, 2019

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

Copy link
Contributor Author

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.
Copy link
Member

@chris-crone chris-crone Nov 13, 2019

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.

Copy link
Contributor Author

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.
Copy link
Member

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).
Copy link
Member

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 <caroline.briaud@docker.com>
Copy link
Member

@chris-crone chris-crone left a 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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants