* Service labels info * Tuning info * Update info * New deploy landing page info * Offline install info * New production info * New upgrade info * New landing page info * Canary info * Context info * Landing page info * Interlock VIP mode info * Labels reference info * Redirects info * Service clusters info * Sessions info * SSL info * TLS info * Websockets info * Incorporated latest change from Netlify site * Images * Moved to images directory * Moved info * Moved info * Moved info * Moved info * Moved info * Changed default port based on github.io update * Add HideInfoHeaders based on github.io update * HideInfoHeaders in code sample * Wording and tag updates * Tag and link updates * Fix some minor issues in vfs storage-driver section - Fix mention of `storage-drivers` instead of `storage-opts` - Repeat the selected driver in the second `daemon.json` example - Remove mention of `CE` as this driver can be used on Docker EE (although it's mainly intending for debugging, so not a "supported" driver) Signed-off-by: Sebastiaan van Stijn <github@gone.nl> * Wording cleanup * Intra-doc links * Link titles * Wording and link changes * Remove site URL from link path * Removed Kube GC Known issue from UCP 3.1.4 * Update release-notes.md DTR info Edits on 2.5.10 and 2.6.4 entries Add upgrade warning information Updated engine info per Andrew's input Added Component table info per Mark * Update DTR release notes * Fixed dates * Fixed formatting issues * Temporary - review later * Remove stage compose file for docs-private * Update compose-version to 1.24.0 https://github.com/docker/compose/releases/tag/1.24.0 Signed-off-by: Sebastiaan van Stijn <github@gone.nl> * re-add removed Jenkinsfile * Added moby#36951 to 18.09.4 release notes * Wording and link updates * Updated Offline Bundles for March Patch * Update release notes for 1.23.2 and 1.24.0 Signed-off-by: Ulysses Souza <ulysses.souza@docker.com> * Link to client bundle instructions * Minor edits - Moved dates to be consistent with other release notes - Made grammar a little more consistent * Update index.md : #### host or none - network (#8425) * Update index.md : #### host or none - network Choosing specific network for a build instead of the [network_mode]. network_mode doesn't work when providing a network for a particular build rather it skips the block and move to next service thus using network. * Minor syntax updates * Update index.md those changes were a result of conflict that i tried to resolve. * add slack webhook to Jenkinsfile * add slack webhook to Jenkinsfile * Update release-notes.md * add slack webhook to Jenkinsfile * Fix labels-reference link * Add pip dependencies to compose doc for alpine (#8554) * Add pip dependencies to compose doc for alpine Signed-off-by: Ulysses Souza <ulysses.souza@docker.com> * Minor edit * Audit branch (#8564) * Update trust-with-remote-ucp.md * Fix link texts * Addresses 8446 * Update trust_delegation.md * - Addresses 8446 - Cleans up broken links - Fixes vague link texts Addresses 8446 Update trust_delegation.md * Update running_ssh_service.md * Update running_ssh_service.md Fixed formatting and wording. Also moved note above the code. * Update running_ssh_service.md Fixed typo. * Compose: Update build docs, Add --quiet flag * Fix destroy reference page link Relates to https://github.com/docker/docker.github.io/pull/8441 * Rephrase Ubuntu 14.04 note * Revert "Compose: Update build docs, Add --quiet flag" * # This is a combination of 4 commits. # This is the 1st commit message: - Addresses 8446 - Cleans up broken links - Fixes vague link texts Addresses 8446 Update trust_delegation.md # This is the commit message #2: # This is a combination of 2 commits. # This is the 1st commit message: - Addresses 8446 - Cleans up broken links - Fixes vague link texts Addresses 8446 Update trust_delegation.md # This is the commit message #2: Update trust-with-remote-ucp.md # This is the commit message #3: - Addresses 8446 - Cleans up broken links - Fixes vague link texts # This is the commit message #4: Fix destroy reference page link Relates to https://github.com/docker/docker.github.io/pull/8441 * - Addresses 8446 - Cleans up broken links - Fixes vague link texts * Addresses 8446 with text and link cleanup. * Update syntax language from none to bash * Update index.md * Remove merge conflict * Include Ubuntu version in Dockerfile more recent versions of Ubuntu don't work with the given Dockerfile * Adding Azure note (#8566) * Adding Azure note * Rephrase additional line and update link * Fix typo * Update configs.md * Adding Azure note (#8566) * Adding Azure note * Rephrase additional line and update link * Final edit * Updated the 3.1.4 release notes to include Centos 7.6 support * update jenkinsfile with very important protections So we're lucky we're not using the master branch to update our swarm services here because if we someone had pushed to it, it would have triggered a docs.docker.com build. This is becuase this Jenkinsfile, which has been merged from the docker.github.io project has the content for updating docs.docker.com and not beta.docs.docker.com. Maria and I have worked out a potential solution to this problem and I hope to implement it today. * add protection to Jenkinsfile * fix git url protection in jenkinsfile * typo fix friendlyname -> friendlyhello * Storage backend data migration updates Fix incorrect API command, add backup updates Update incorrect commands * --unmanaged-cni is not a valid option for upgrade * Update to UCP known issues * Update UCP release notes * Update release-notes.md * make jenkinsfile serve private and public docs After a couple of Jenkins-based mix-ups it became obvious we needed a Jenkinsfile that would serve both public and private projects, that we could move between repos without worry. This Jenkinsfile knows which images to build and push and which swarm services to update because of the use of git_url and branch conditions. * make jenkinsfile serve private and public docs After a couple of Jenkins-based mix-ups it became obvious we needed a Jenkinsfile that would serve both public and private projects, that we could move between repos without worry. This Jenkinsfile knows which images to build and push and which swarm services to update because of the use of git_url and branch conditions. * make jenkinsfile serve private and public docs After a couple of Jenkins-based mix-ups it became obvious we needed a Jenkinsfile that would serve both public and private projects, that we could move between repos without worry. This Jenkinsfile knows which images to build and push and which swarm services to update because of the use of git_url and branch conditions. * Add HSTS warning for specifying --dtr-external-url * Typo on logging driver name * Addressed engineering feedback * Netlify redirects interlock (#8595) * Added netlify redirect * Remove redundant "be" * Update the "role-based access control" link On page "https://docs.docker.com/ee/ucp/user-access/", update the hyperlink "role-based access control" to point to "https://docs.docker.com/ee/ucp/authorization/" instead of "https://docs.docker.com/ee/access-control". * Add UCP user password limitation * Revert "Updated the UCP 3.1.4 release notes to include Centos 7.6 support" * Adding emphasis on Static IP requirement (#7276) * Adding emphasis on Static IP requirement We had a customer (00056641) who changed IPs like this all at once, and they are in a messy status. We should make it clear that static IP is absolutely required. ```***-ucp-0-dw original="10.15.89.6" updated="10.15.89.7" ***-ucp-1-dw original="10.15.89.5" updated="10.15.89.6" ***-ucp-2-dw original="10.15.89.7" updated="10.15.89.5" ``` * Link to prod requirement of static IP addresses * Adding warning about layer7 config (#8617) * Adding warning about layer7 config Adding warning about layer7 config not being included in the backup * Text edit * Sync published with master (#8619) * Update install.md add note: 8 character password minimum length * Include Ubuntu version in Dockerfile more recent versions of Ubuntu don't work with the given Dockerfile * Updated the 3.1.4 release notes to include Centos 7.6 support * Remove redundant "be" * Update the "role-based access control" link On page "https://docs.docker.com/ee/ucp/user-access/", update the hyperlink "role-based access control" to point to "https://docs.docker.com/ee/ucp/authorization/" instead of "https://docs.docker.com/ee/access-control". * Add UCP user password limitation * Revert "Updated the UCP 3.1.4 release notes to include Centos 7.6 support" * Adding emphasis on Static IP requirement (#7276) * Adding emphasis on Static IP requirement We had a customer (00056641) who changed IPs like this all at once, and they are in a messy status. We should make it clear that static IP is absolutely required. ```***-ucp-0-dw original="10.15.89.6" updated="10.15.89.7" ***-ucp-1-dw original="10.15.89.5" updated="10.15.89.6" ***-ucp-2-dw original="10.15.89.7" updated="10.15.89.5" ``` * Link to prod requirement of static IP addresses * Adding warning about layer7 config (#8617) * Adding warning about layer7 config Adding warning about layer7 config not being included in the backup * Text edit * Add the 'Install on Azure' page back to the TOC for UCP 3.0 (#8623) * Add the Install on Azure page back to the UCP 3.0 TOC * Fix the copy / paste error on Install on UCP * Fix Liquid syntax error in "reset user password" ``` Liquid Warning: Liquid syntax error (line 33): Expected end_of_string but found number in "{{ index .Spec.TaskTemplate.ContainerSpec.Args 0 }}" in ee/ucp/authorization/reset-user-password.md ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl> * Fix link text * Patch release notes 04 2019 (#8633) * Add version update for Engine/UCP * Add DTR version updates * Added April Offline Bundles * Engine release notes update * Update release-notes.md * Update release-notes.md * Minor edit * Minor edit * Add 2.4.11 DTR info * Remove statement about supporting CNI plugin (#8594) * Remove statement about supporting CNI plugin * Update install-cni-plugin.md * Removing internal JIRA links * Use site parameter to use latest compose file versions in examples (#8630) * Use site parameter to use latest compose file versions in examples Make sure that examples use the latest version of the compose file format, to encourage using the latest version, and to prevent users from running into "not supported by this version" problems when copy/pasting, and combining examples that use different versions. Also add a note about `version: x` not being equivalent to `version: x.latest`. Note that there are still some examples using fixed versions in the UCP sections; we need to evaluate those to make sure the right (and supported) versions are used for UCP (which may be different than "latest"). Signed-off-by: Sebastiaan van Stijn <github@gone.nl> * Address some v3/v2 issues, and YAML syntax error Signed-off-by: Sebastiaan van Stijn <github@gone.nl> * Minor edit * Final updates - Added note around v2 and v3 versioning - Updated note for v3 to match the v2 update * compose-file: remove reference to custom init path (#8628) * compose-file: remove reference to custom init path This option was never functional, and was not intended to be added to the "container create" API, so let's remove it, because it has been removed in Docker 17.05, and was broken in versions before that; see - docker/docker-py#2309 Remove init_path from create - moby/moby#32355 --init-path does not seem to work - moby/moby#32470 remove --init-path from client Signed-off-by: Sebastiaan van Stijn <github@gone.nl> * Update index.md * Remove extra which Change below line From AUFS, which can suffer noticeable latencies when searching for files in images with many layers To AUFS can suffer noticeable latencies when searching for files in images with many layers * Fix a broken link * Add documentation for --service-cluster-ip-range flag https://github.com/docker/orca/pull/16417 adds support to make service cluster IP range subnet configurable for UCP install via the --service-cluster-ip-range flag * Added a period. * Add documentation for UCP install page Signed-off-by: Arko Dasgupta <arko.dasgupta@docker.com> * Redirect to current version of page, since it's reached EOL * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Fix grammar on the 2nd pre-req, and did markdown formatting on the rest :) * Correct Pod-CIDR Warning * Content cleanup Please check that I haven't changed the meaning of the updated prerequisites. * Create a new section on configuring the IP Count value, also responded to feedback from Follis, Steve R and Xinfeng. * Incorporated Steven F's feedback and Issue 8551 * Provide a warning when setting a small IP Count variable * Final edits * Update install-on-azure.md * Following feedback I have expanded on the 0644 azure.json file permissions and Added the --existing-config file to the UCP install command * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Sync published with master (#8673) * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Fix grammar on the 2nd pre-req, and did markdown formatting on the rest :) * Correct Pod-CIDR Warning * Content cleanup Please check that I haven't changed the meaning of the updated prerequisites. * Create a new section on configuring the IP Count value, also responded to feedback from Follis, Steve R and Xinfeng. * Incorporated Steven F's feedback and Issue 8551 * Provide a warning when setting a small IP Count variable * Final edits * Update install-on-azure.md * Following feedback I have expanded on the 0644 azure.json file permissions and Added the --existing-config file to the UCP install command * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Published (#8674) * add slack webhook to Jenkinsfile * make jenkinsfile serve private and public docs After a couple of Jenkins-based mix-ups it became obvious we needed a Jenkinsfile that would serve both public and private projects, that we could move between repos without worry. This Jenkinsfile knows which images to build and push and which swarm services to update because of the use of git_url and branch conditions. * Sync published with master (#8619) * Update install.md add note: 8 character password minimum length * Include Ubuntu version in Dockerfile more recent versions of Ubuntu don't work with the given Dockerfile * Updated the 3.1.4 release notes to include Centos 7.6 support * Remove redundant "be" * Update the "role-based access control" link On page "https://docs.docker.com/ee/ucp/user-access/", update the hyperlink "role-based access control" to point to "https://docs.docker.com/ee/ucp/authorization/" instead of "https://docs.docker.com/ee/access-control". * Add UCP user password limitation * Revert "Updated the UCP 3.1.4 release notes to include Centos 7.6 support" * Adding emphasis on Static IP requirement (#7276) * Adding emphasis on Static IP requirement We had a customer (00056641) who changed IPs like this all at once, and they are in a messy status. We should make it clear that static IP is absolutely required. ```***-ucp-0-dw original="10.15.89.6" updated="10.15.89.7" ***-ucp-1-dw original="10.15.89.5" updated="10.15.89.6" ***-ucp-2-dw original="10.15.89.7" updated="10.15.89.5" ``` * Link to prod requirement of static IP addresses * Adding warning about layer7 config (#8617) * Adding warning about layer7 config Adding warning about layer7 config not being included in the backup * Text edit * Sync published with master (#8673) * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Fix grammar on the 2nd pre-req, and did markdown formatting on the rest :) * Correct Pod-CIDR Warning * Content cleanup Please check that I haven't changed the meaning of the updated prerequisites. * Create a new section on configuring the IP Count value, also responded to feedback from Follis, Steve R and Xinfeng. * Incorporated Steven F's feedback and Issue 8551 * Provide a warning when setting a small IP Count variable * Final edits * Update install-on-azure.md * Following feedback I have expanded on the 0644 azure.json file permissions and Added the --existing-config file to the UCP install command * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Trying to fix command rendering of '--format "{{ .Names }}"' (#8678) * Trying to fix command rendering of '--format "{{ .Names }}"' --format "{{ .Names }}" is showing up in the markup but is rendering as --format "" in the published version. Added {% raw %} tags to try to fix. * Fixed heading inconsistency * Trying to fix command rendering of '--format "{{ .Names }}"' (#8677) * Trying to fix command rendering of '--format "{{ .Names }}"' --format "{{ .Names }}" is showing up in the markup but is rendering as --format "" in the published version. Added {% raw %} tags to try to fix. * Update concatenated to chained * Minor fix * interlock --> ucp-interlock (#8675) * interlock --> ucp-interlock * Fixed code samples - Use the latest UCP version and the latest ucp-interlock image - Leverage ucp page version Jekyll variable * Typo * Final syntax fix * Update backup.md * Sync published with master (#8685) * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Fix grammar on the 2nd pre-req, and did markdown formatting on the rest :) * Correct Pod-CIDR Warning * Content cleanup Please check that I haven't changed the meaning of the updated prerequisites. * Create a new section on configuring the IP Count value, also responded to feedback from Follis, Steve R and Xinfeng. * Incorporated Steven F's feedback and Issue 8551 * Provide a warning when setting a small IP Count variable * Final edits * Update install-on-azure.md * Following feedback I have expanded on the 0644 azure.json file permissions and Added the --existing-config file to the UCP install command * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Published (#8674) * add slack webhook to Jenkinsfile * make jenkinsfile serve private and public docs After a couple of Jenkins-based mix-ups it became obvious we needed a Jenkinsfile that would serve both public and private projects, that we could move between repos without worry. This Jenkinsfile knows which images to build and push and which swarm services to update because of the use of git_url and branch conditions. * Sync published with master (#8619) * Update install.md add note: 8 character password minimum length * Include Ubuntu version in Dockerfile more recent versions of Ubuntu don't work with the given Dockerfile * Updated the 3.1.4 release notes to include Centos 7.6 support * Remove redundant "be" * Update the "role-based access control" link On page "https://docs.docker.com/ee/ucp/user-access/", update the hyperlink "role-based access control" to point to "https://docs.docker.com/ee/ucp/authorization/" instead of "https://docs.docker.com/ee/access-control". * Add UCP user password limitation * Revert "Updated the UCP 3.1.4 release notes to include Centos 7.6 support" * Adding emphasis on Static IP requirement (#7276) * Adding emphasis on Static IP requirement We had a customer (00056641) who changed IPs like this all at once, and they are in a messy status. We should make it clear that static IP is absolutely required. ```***-ucp-0-dw original="10.15.89.6" updated="10.15.89.7" ***-ucp-1-dw original="10.15.89.5" updated="10.15.89.6" ***-ucp-2-dw original="10.15.89.7" updated="10.15.89.5" ``` * Link to prod requirement of static IP addresses * Adding warning about layer7 config (#8617) * Adding warning about layer7 config Adding warning about layer7 config not being included in the backup * Text edit * Sync published with master (#8673) * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Fix grammar on the 2nd pre-req, and did markdown formatting on the rest :) * Correct Pod-CIDR Warning * Content cleanup Please check that I haven't changed the meaning of the updated prerequisites. * Create a new section on configuring the IP Count value, also responded to feedback from Follis, Steve R and Xinfeng. * Incorporated Steven F's feedback and Issue 8551 * Provide a warning when setting a small IP Count variable * Final edits * Update install-on-azure.md * Following feedback I have expanded on the 0644 azure.json file permissions and Added the --existing-config file to the UCP install command * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Trying to fix command rendering of '--format "{{ .Names }}"' (#8678) * Trying to fix command rendering of '--format "{{ .Names }}"' --format "{{ .Names }}" is showing up in the markup but is rendering as --format "" in the published version. Added {% raw %} tags to try to fix. * Fixed heading inconsistency * Trying to fix command rendering of '--format "{{ .Names }}"' (#8677) * Trying to fix command rendering of '--format "{{ .Names }}"' --format "{{ .Names }}" is showing up in the markup but is rendering as --format "" in the published version. Added {% raw %} tags to try to fix. * Update concatenated to chained * Minor fix * interlock --> ucp-interlock (#8675) * interlock --> ucp-interlock * Fixed code samples - Use the latest UCP version and the latest ucp-interlock image - Leverage ucp page version Jekyll variable * Typo * Final syntax fix * Update backup.md * Removed Reference to Interlock Preview Image, and added relevant UCP Image Org and Tag * Fix syntax error which caused the master build to fail * Preview page.ucp_org output * Sync published with master (#8693) (#8694) * Adding Azure note (#8566) * Adding Azure note * Rephrase additional line and update link * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Fix grammar on the 2nd pre-req, and did markdown formatting on the rest :) * Correct Pod-CIDR Warning * Content cleanup Please check that I haven't changed the meaning of the updated prerequisites. * Create a new section on configuring the IP Count value, also responded to feedback from Follis, Steve R and Xinfeng. * Incorporated Steven F's feedback and Issue 8551 * Provide a warning when setting a small IP Count variable * Final edits * Update install-on-azure.md * Following feedback I have expanded on the 0644 azure.json file permissions and Added the --existing-config file to the UCP install command * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Published (#8674) * add slack webhook to Jenkinsfile * make jenkinsfile serve private and public docs After a couple of Jenkins-based mix-ups it became obvious we needed a Jenkinsfile that would serve both public and private projects, that we could move between repos without worry. This Jenkinsfile knows which images to build and push and which swarm services to update because of the use of git_url and branch conditions. * Sync published with master (#8619) * Update install.md add note: 8 character password minimum length * Include Ubuntu version in Dockerfile more recent versions of Ubuntu don't work with the given Dockerfile * Updated the 3.1.4 release notes to include Centos 7.6 support * Remove redundant "be" * Update the "role-based access control" link On page "https://docs.docker.com/ee/ucp/user-access/", update the hyperlink "role-based access control" to point to "https://docs.docker.com/ee/ucp/authorization/" instead of "https://docs.docker.com/ee/access-control". * Add UCP user password limitation * Revert "Updated the UCP 3.1.4 release notes to include Centos 7.6 support" * Adding emphasis on Static IP requirement (#7276) * Adding emphasis on Static IP requirement We had a customer (00056641) who changed IPs like this all at once, and they are in a messy status. We should make it clear that static IP is absolutely required. ```***-ucp-0-dw original="10.15.89.6" updated="10.15.89.7" ***-ucp-1-dw original="10.15.89.5" updated="10.15.89.6" ***-ucp-2-dw original="10.15.89.7" updated="10.15.89.5" ``` * Link to prod requirement of static IP addresses * Adding warning about layer7 config (#8617) * Adding warning about layer7 config Adding warning about layer7 config not being included in the backup * Text edit * Sync published with master (#8673) * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Fix grammar on the 2nd pre-req, and did markdown formatting on the rest :) * Correct Pod-CIDR Warning * Content cleanup Please check that I haven't changed the meaning of the updated prerequisites. * Create a new section on configuring the IP Count value, also responded to feedback from Follis, Steve R and Xinfeng. * Incorporated Steven F's feedback and Issue 8551 * Provide a warning when setting a small IP Count variable * Final edits * Update install-on-azure.md * Following feedback I have expanded on the 0644 azure.json file permissions and Added the --existing-config file to the UCP install command * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Trying to fix command rendering of '--format "{{ .Names }}"' (#8678) * Trying to fix command rendering of '--format "{{ .Names }}"' --format "{{ .Names }}" is showing up in the markup but is rendering as --format "" in the published version. Added {% raw %} tags to try to fix. * Fixed heading inconsistency * Trying to fix command rendering of '--format "{{ .Names }}"' (#8677) * Trying to fix command rendering of '--format "{{ .Names }}"' --format "{{ .Names }}" is showing up in the markup but is rendering as --format "" in the published version. Added {% raw %} tags to try to fix. * Update concatenated to chained * Minor fix * interlock --> ucp-interlock (#8675) * interlock --> ucp-interlock * Fixed code samples - Use the latest UCP version and the latest ucp-interlock image - Leverage ucp page version Jekyll variable * Typo * Final syntax fix * Update backup.md * Removed Reference to Interlock Preview Image, and added relevant UCP Image Org and Tag * Fix syntax error which caused the master build to fail * docs: fix typo in removal of named volumes (#8686) * Updated the ToC for Upgrading Interlock * Removed the Previous Interlock SSL Page * Moved Redirect to latest page * Update index.md (#8690) Fix typo - missing word. * Update bind-mounts.md (#8696) * Minor edits (#8708) * Minor edits - Standardized setting of replica ID as per @caervs - Fix broken link * Consistency edits - Standardized setting of replica ID - Added note that this command only works on Linux * Standardize replica setting - Update commands for creating tar files for local and NFS-mounted images * Fixed broken 'important changes' link (#8721) * Interlock fix - remove haproxy and custom template files (#8722) * Removed haproxy and custom template info * Delete file * Delete file * Render DTR version (#8726) * Release notes for 2.0.4.0 win (Edge) Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com> * Release notes for 2.0.4.0 mac (Edge) Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com> * Update-edge-release-notes.md Minor updates to the proposed content. Looks good otherwise. * Updated edge-release-notes (Windows) Minor edits * Added Docker-Compose awslogs example (#8638) * Added docker compose aws logs information * Fixed formatting and text - Signed off by @bermudezmt * Fix: duplicate paragraph `depends_on` (#8539) * Fix: duplicate paragraph `depends_on` Amend duplicate paragraph `depends_on` in Compose file reference doc. * Fix: add missing blank line * Updated Engine/DTR/UCP version info (#8744) * Updated Engine/DTR/UCP version info * Fixed version * Updates for May patch * Release notes update (May) (#8763) * Latest info including known issues * Updates for 2.6.6, 2.5.11, 2.4.12 * Added 18.09.6 updates * Added link * Fixed link error * Syntax error * 2.6.6 info cleanup * Added Hub info * Added Hub info for 2.6.6 * Added Hub info for 3.1.7 * Link fix * Update line items for DTR 2.6.6 * Add line break after Known Issues - Affects 2.5.11. * Edit line items Minor edits and formatting fixes * Remove outdated links/fix links (#8760) * Fix dates * Fix dates * Fix dates * Fixed syntax error (#8732) * Fixed syntax error Last edit to the REPLICA_ID command introduced a syntax error by adding an extra ')'. Removed it. * Fix replica ID setting examples - Accept suggestion from @thajeztah based on product testing - Apply change to page examples - Remove NFS backup example based on the following errors: tar: /var/lib/docker/volumes/dtr-registry-nfs-36e6bf87816d: Cannot stat: No such file or directory tar: Exiting with failure status due to previous errors * Update header for example tar * Fixed link title * Fixed link title * Added new example and deprecation info (#8773) * Updated multi-stage build doc (#8769) Changed the 'as' keyword to 'AS' to match the Dockerfile reference docs here: https://docs.docker.com/engine/reference/builder/#from * Fix typo (#8766) * Fixed a sentence (#8728) * Fixed a sentence * Minor edit * Update configure-tls.md (#8719) * Update upgrade.md (#8718) * Update index.md (#8717) * Update configure-tls.md (#8716) * Add TOC entry for Hub page title change (#8777) * Update upgrade.md * Fix left navigation TOC * Update get-started.md (#8713) * Update tmpfs.md (#8711) * Add an indentation in compose-gettingstarted.md (#8487) * Add an indentation * Fix messaging on service dependencies * Sync master with published (#8779) * Sync published with master (#8693) * Adding Azure note (#8566) * Adding Azure note * Rephrase additional line and update link * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Fix grammar on the 2nd pre-req, and did markdown formatting on the rest :) * Correct Pod-CIDR Warning * Content cleanup Please check that I haven't changed the meaning of the updated prerequisites. * Create a new section on configuring the IP Count value, also responded to feedback from Follis, Steve R and Xinfeng. * Incorporated Steven F's feedback and Issue 8551 * Provide a warning when setting a small IP Count variable * Final edits * Update install-on-azure.md * Following feedback I have expanded on the 0644 azure.json file permissions and Added the --existing-config file to the UCP install command * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Published (#8674) * add slack webhook to Jenkinsfile * make jenkinsfile serve private and public docs After a couple of Jenkins-based mix-ups it became obvious we needed a Jenkinsfile that would serve both public and private projects, that we could move between repos without worry. This Jenkinsfile knows which images to build and push and which swarm services to update because of the use of git_url and branch conditions. * Sync published with master (#8619) * Update install.md add note: 8 character password minimum length * Include Ubuntu version in Dockerfile more recent versions of Ubuntu don't work with the given Dockerfile * Updated the 3.1.4 release notes to include Centos 7.6 support * Remove redundant "be" * Update the "role-based access control" link On page "https://docs.docker.com/ee/ucp/user-access/", update the hyperlink "role-based access control" to point to "https://docs.docker.com/ee/ucp/authorization/" instead of "https://docs.docker.com/ee/access-control". * Add UCP user password limitation * Revert "Updated the UCP 3.1.4 release notes to include Centos 7.6 support" * Adding emphasis on Static IP requirement (#7276) * Adding emphasis on Static IP requirement We had a customer (00056641) who changed IPs like this all at once, and they are in a messy status. We should make it clear that static IP is absolutely required. ```***-ucp-0-dw original="10.15.89.6" updated="10.15.89.7" ***-ucp-1-dw original="10.15.89.5" updated="10.15.89.6" ***-ucp-2-dw original="10.15.89.7" updated="10.15.89.5" ``` * Link to prod requirement of static IP addresses * Adding warning about layer7 config (#8617) * Adding warning about layer7 config Adding warning about layer7 config not being included in the backup * Text edit * Sync published with master (#8673) * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Fix grammar on the 2nd pre-req, and did markdown formatting on the rest :) * Correct Pod-CIDR Warning * Content cleanup Please check that I haven't changed the meaning of the updated prerequisites. * Create a new section on configuring the IP Count value, also responded to feedback from Follis, Steve R and Xinfeng. * Incorporated Steven F's feedback and Issue 8551 * Provide a warning when setting a small IP Count variable * Final edits * Update install-on-azure.md * Following feedback I have expanded on the 0644 azure.json file permissions and Added the --existing-config file to the UCP install command * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Trying to fix command rendering of '--format "{{ .Names }}"' (#8678) * Trying to fix command rendering of '--format "{{ .Names }}"' --format "{{ .Names }}" is showing up in the markup but is rendering as --format "" in the published version. Added {% raw %} tags to try to fix. * Fixed heading inconsistency * Trying to fix command rendering of '--format "{{ .Names }}"' (#8677) * Trying to fix command rendering of '--format "{{ .Names }}"' --format "{{ .Names }}" is showing up in the markup but is rendering as --format "" in the published version. Added {% raw %} tags to try to fix. * Update concatenated to chained * Minor fix * interlock --> ucp-interlock (#8675) * interlock --> ucp-interlock * Fixed code samples - Use the latest UCP version and the latest ucp-interlock image - Leverage ucp page version Jekyll variable * Typo * Final syntax fix * Update backup.md * Removed Reference to Interlock Preview Image, and added relevant UCP Image Org and Tag * Fix syntax error which caused the master build to fail * Sync published with master (#8695) * Sync published with master (#8693) (#8694) * Adding Azure note (#8566) * Adding Azure note * Rephrase additional line and update link * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Fix grammar on the 2nd pre-req, and did markdown formatting on the rest :) * Correct Pod-CIDR Warning * Content cleanup Please check that I haven't changed the meaning of the updated prerequisites. * Create a new section on configuring the IP Count value, also responded to feedback from Follis, Steve R and Xinfeng. * Incorporated Steven F's feedback and Issue 8551 * Provide a warning when setting a small IP Count variable * Final edits * Update install-on-azure.md * Following feedback I have expanded on the 0644 azure.json file permissions and Added the --existing-config file to the UCP install command * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Published (#8674) * add slack webhook to Jenkinsfile * make jenkinsfile serve private and public docs After a couple of Jenkins-based mix-ups it became obvious we needed a Jenkinsfile that would serve both public and private projects, that we could move between repos without worry. This Jenkinsfile knows which images to build and push and which swarm services to update because of the use of git_url and branch conditions. * Sync published with master (#8619) * Update install.md add note: 8 character password minimum length * Include Ubuntu version in Dockerfile more recent versions of Ubuntu don't work with the given Dockerfile * Updated the 3.1.4 release notes to include Centos 7.6 support * Remove redundant "be" * Update the "role-based access control" link On page "https://docs.docker.com/ee/ucp/user-access/", update the hyperlink "role-based access control" to point to "https://docs.docker.com/ee/ucp/authorization/" instead of "https://docs.docker.com/ee/access-control". * Add UCP user password limitation * Revert "Updated the UCP 3.1.4 release notes to include Centos 7.6 support" * Adding emphasis on Static IP requirement (#7276) * Adding emphasis on Static IP requirement We had a customer (00056641) who changed IPs like this all at once, and they are in a messy status. We should make it clear that static IP is absolutely required. ```***-ucp-0-dw original="10.15.89.6" updated="10.15.89.7" ***-ucp-1-dw original="10.15.89.5" updated="10.15.89.6" ***-ucp-2-dw original="10.15.89.7" updated="10.15.89.5" ``` * Link to prod requirement of static IP addresses * Adding warning about layer7 config (#8617) * Adding warning about layer7 config Adding warning about layer7 config not being included in the backup * Text edit * Sync published with master (#8673) * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Fix grammar on the 2nd pre-req, and did markdown formatting on the rest :) * Correct Pod-CIDR Warning * Content cleanup Please check that I haven't changed the meaning of the updated prerequisites. * Create a new section on configuring the IP Count value, also responded to feedback from Follis, Steve R and Xinfeng. * Incorporated Steven F's feedback and Issue 8551 * Provide a warning when setting a small IP Count variable * Final edits * Update install-on-azure.md * Following feedback I have expanded on the 0644 azure.json file permissions and Added the --existing-config file to the UCP install command * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Trying to fix command rendering of '--format "{{ .Names }}"' (#8678) * Trying to fix command rendering of '--format "{{ .Names }}"' --format "{{ .Names }}" is showing up in the markup but is rendering as --format "" in the published version. Added {% raw %} tags to try to fix. * Fixed heading inconsistency * Trying to fix command rendering of '--format "{{ .Names }}"' (#8677) * Trying to fix command rendering of '--format "{{ .Names }}"' --format "{{ .Names }}" is showing up in the markup but is rendering as --format "" in the published version. Added {% raw %} tags to try to fix. * Update concatenated to chained * Minor fix * interlock --> ucp-interlock (#8675) * interlock --> ucp-interlock * Fixed code samples - Use the latest UCP version and the latest ucp-interlock image - Leverage ucp page version Jekyll variable * Typo * Final syntax fix * Update backup.md * Removed Reference to Interlock Preview Image, and added relevant UCP Image Org and Tag * Fix syntax error which caused the master build to fail * docs: fix typo in removal of named volumes (#8686) * Sync published with master (#8709) * Sync published with master (#8693) (#8694) * Adding Azure note (#8566) * Rephrase additional line and update link * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Published (#8674) * add slack webhook to Jenkinsfile * make jenkinsfile serve private and public docs After a couple of Jenkins-based mix-ups it became obvious we needed a Jenkinsfile that would serve both public and private projects, that we could move between repos without worry. This Jenkinsfile knows which images to build and push and which swarm services to update because of the use of git_url and branch conditions. * Sync published with master (#8619) * Update install.md add note: 8 character password minimum length * Include Ubuntu version in Dockerfile more recent versions of Ubuntu don't work with the given Dockerfile * Updated the 3.1.4 release notes to include Centos 7.6 support * Remove redundant "be" * Update the "role-based access control" link On page "https://docs.docker.com/ee/ucp/user-access/", update the hyperlink "role-based access control" to point to "https://docs.docker.com/ee/ucp/authorization/" instead of "https://docs.docker.com/ee/access-control". * Add UCP user password limitation * Revert "Updated the UCP 3.1.4 release notes to include Centos 7.6 support" * Adding emphasis on Static IP requirement (#7276) * Adding emphasis on Static IP requirement We had a customer (00056641) who changed IPs like this all at once, and they are in a messy status. We should make it clear that static IP is absolutely required. ```***-ucp-0-dw original="10.15.89.6" updated="10.15.89.7" ***-ucp-1-dw original="10.15.89.5" updated="10.15.89.6" ***-ucp-2-dw original="10.15.89.7" updated="10.15.89.5" ``` * Link to prod requirement of static IP addresses * Adding warning about layer7 config (#8617) * Adding warning about layer7 config Adding warning about layer7 config not being included in the backup * Text edit * Sync published with master (#8673) * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Improved backup commands (#8597) * line 8; remove unnecessary a (#8672) * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Remove deadlink in the Interlock ToC (#8668) * Trying to fix command rendering of '--format "{{ .Names }}"' (#8678) * interlock --> ucp-interlock (#8675) * Fixed code samples - Use the latest UCP version and the latest ucp-interlock image - Leverage ucp page version Jekyll variable * Typo * Final syntax fix * Update backup.md * Removed Reference to Interlock Preview Image, and added relevant UCP Image Org and Tag * Fix syntax error which caused the master build to fail * docs: fix typo in removal of named volumes (#8686) * Updated the ToC for Upgrading Interlock * Update index.md (#8690) Fix typo - missing word. * Update bind-mounts.md (#8696) * Minor edits (#8708) * Minor edits - Standardized setting of replica ID as per @caervs - Fix broken link * Consistency edits - Standardized setting of replica ID - Added note that this command only works on Linux * Standardize replica setting - Update commands for creating tar files for local and NFS-mounted images * Sync published with master (#8727) * Sync published with master (#8693) (#8694) * Adding Azure note (#8566) * Revert "Netlify redirects interlock (#8595)" * UCP Install on Azure Patch (#8522) * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Published (#8674) * add slack webhook to Jenkinsfile * make jenkinsfile serve private and public docs After a couple of Jenkins-based mix-ups it became obvious we needed a Jenkinsfile that would serve both public and private projects, that we could move between repos without worry. This Jenkinsfile knows which images to build and push and which swarm services to update because of the use of git_url and branch conditions. * Sync published with master (#8619) * Update install.md add note: 8 character password minimum length * Include Ubuntu version in Dockerfile more recent versions of Ubuntu don't work with the given Dockerfile * Updated the 3.1.4 release notes to include Centos 7.6 support * Remove redundant "be" * Update the "role-based access control" link On page "https://docs.docker.com/ee/ucp/user-access/", update the hyperlink "role-based access control" to point to "https://docs.docker.com/ee/ucp/authorization/" instead of "https://docs.docker.com/ee/access-control". * Add UCP user password limitation * Revert "Updated the UCP 3.1.4 release notes to include Centos 7.6 support" * Adding emphasis on Static IP requirement (#7276) * Adding emphasis on Static IP requirement We had a customer (00056641) who changed IPs like this all at once, and they are in a messy status. We should make it clear that static IP is absolutely required. ```***-ucp-0-dw original="10.15.89.6" updated="10.15.89.7" ***-ucp-1-dw original="10.15.89.5" updated="10.15.89.6" ***-ucp-2-dw original="10.15.89.7" updated="10.15.89.5" ``` * Link to prod requirement of static IP addresses * Adding warning about layer7 config (#8617) * Adding warning about layer7 config Adding warning about layer7 config not being included in the backup * Text edit * Sync published with master (#8673) * Revert "Netlify redirects interlock (#8595)" This reverts commita7793edc74. * UCP Install on Azure Patch (#8522) * Fix grammar on the 2nd pre-req, and did markdown formatting on the rest :) * Correct Pod-CIDR Warning * Content cleanup Please check that I haven't changed the meaning of the updated prerequisites. * Create a new section on configuring the IP Count value, also responded to feedback from Follis, Steve R and Xinfeng. * Incorporated Steven F's feedback and Issue 8551 * Provide a warning when setting a small IP Count variable * Final edits * Update install-on-azure.md * Following feedback I have expanded on the 0644 azure.json file permissions and Added the --existing-config file to the UCP install command * Removed Orchestrator Tag Pre Req from Azure Docs * Clarifying need for 0644 permissions * Improved backup commands (#8597) * Improved backup commands DTR image backup command improvements: 1. Local and NFS mount image backup commands were invalid (incorrectly used -C flag). Replaced them with commands that work. 2. The new commands automatically populate the correct replica ID and add a datestamp to the backup filename. DTR Metadata backup command improvements: DTR metadata backups are more difficult than they need to be and generate many support tickets. I updated the DTR command to avoid common user pitfalls: 1. The prior metadata backup command was subject to user error. Improved the command to automatically collect the DTR version and select a replica. 2. Improved security of the command by automatically collecting UCP CA certificate for verification rather than using --ucp-insecure-tls flag. 3. Improved the backup filename by adding the backed-up version information and date of backup. Knowledge of the version information is required for restoring a backup. 4. Described these improvements for the user. Image backup commands were tested with local and NFS image storage. The metadata backup command was tested by running it directly on a DTR node and through a UCP client bundle with multiple replicas. * Technical and editorial review * More edits * line 8; remove unnecessary a (#8672) * line 8; remove unnecessary a * Minor edit * Updated the UCP Logging page to include UCP 3.1 screenshots (#8646) * Added examples (#8599) * Added examples Added examples with more detail and automation to help customers backup DTR without creating support tickets. * Linked to explanation of example command @omegamormegil I removed the example with prepopulated fields, as I think it doesn't add much, and will only add confusion. Users who need this much detail can run the basic command and follow the terminal prompts. We can re-add in a follow-up PR, if you think that example is crucial to this page. * Remove deadlink in the Interlock ToC (#8668) * Found a deadlink in the Interlock ToC * Added Redirect * Trying to fix command rendering of '--format "{{ .Names }}"' (#8678) * Trying to fix command rendering of '--format "{{ .Names }}"' --format "{{ .Names }}" is showing up in the markup but is rendering as --format "" in the published version. Added {% raw %} tags to try to fix. * Fixed heading inconsistency * Trying to fix command rendering of '--format "{{ .Names }}"' (#8677) * Trying to fix command rendering of '--format "{{ .Names }}"' --format "{{ .Names }}" is showing up in the markup but is rendering as --format "" in the published version. Added {% raw %} tags to try to fix. * Update concatenated to chained * Minor fix * interlock --> ucp-interlock (#8675) * interlock --> ucp-interlock * Fixed code samples - Use the latest UCP version and the latest ucp-interlock image - Leverage ucp page version Jekyll variable * Typo * Final syntax fix * Update backup.md * Removed Reference to Interlock Preview Image, and added relevant UCP Image Org and Tag * Fix syntax error which caused the master build to fail * docs: fix typo in removal of named volumes (#8686) * Updated the ToC for Upgrading Interlock * Removed the Previous Interlock SSL Page * Moved Redirect to latest page * Update index.md (#8690) Fix typo - missing word. * Update bind-mounts.md (#8696) * Minor edits (#8708) * Minor edits - Standardized setting of replica ID as per @caervs - Fix broken link * Consistency edits - Standardized setting of replica ID - Added note that this command only works on Linux * Standardize replica setting - Update commands for creating tar files for local and NFS-mounted images * Fixed broken 'important changes' link (#8721) * Interlock fix - remove haproxy and custom template files (#8722) * Removed haproxy and custom template info * Delete file * Delete file * Render DTR version (#8726) * Sync published with master (#8778) * Fixed syntax error (#8732) Last edit to the REPLICA_ID command introduced a syntax error by adding an extra ')'. Removed it. * Fix replica ID setting examples - Accept suggestion from @thajeztah based on product testing - Apply change to page examples - Remove NFS backup example based on the following errors: tar: /var/lib/docker/volumes/dtr-registry-nfs-36e6bf87816d: Cannot stat: No such file or directory tar: Exiting with failure status due to previous errors * Update header for example tar * Fixed link title * Added new example and deprecation info (#8773) * Updated multi-stage build doc (#8769) Changed the 'as' keyword to 'AS' to match the Dockerfile reference docs here: https://docs.docker.com/engine/reference/builder/#from * Fix typo (#8766) * Fixed a sentence (#8728) * Minor edit * Update configure-tls.md (#8719) * Update upgrade.md (#8718) * Update index.md (#8717) * Update configure-tls.md (#8716) * Add TOC entry for Hub page title change (#8777) * Update upgrade.md * Fix left navigation TOC * Update get-started.md (#8713) * Update tmpfs.md (#8711) * Add an indentation in compose-gettingstarted.md (#8487) * Fix messaging on service dependencies * DESKTOP-1122 Docker Desktop for Win 2.0.4.1 Signed-off-by: Ulrich VACHON <ulrich.vachon@docker.com> * DESKTOP-1122 Docker Desktop for Mac 2.0.4.1 Signed-off-by: Ulrich VACHON <ulrich.vachon@docker.com> * Update edge-release-notes.md * Update edge-release-notes.md * Internal UCP component version updates (#8783) * Fixed env_file anchor in environment-variables.md (#8764) * Raw content addition * Moved to interlock-vip info * Fix indentation issue * 1013: Move desktop ent content to docs-private * fix yaml spacing error * 1013 - Fix ToC indentation, missing images * 1010, 1011 - Update user instructions, add new screenshot * Fix the DDE Overview ToC
12 KiB
description, keywords, title
| description | keywords | title |
|---|---|---|
| Get started with Docker Compose | documentation, docs, docker, compose, orchestration, containers | Get started with Docker Compose |
On this page you build a simple Python web application running on Docker Compose. The application uses the Flask framework and maintains a hit counter in Redis. While the sample uses Python, the concepts demonstrated here should be understandable even if you're not familiar with it.
Prerequisites
Make sure you have already installed both Docker Engine and Docker Compose. You don't need to install Python or Redis, as both are provided by Docker images.
Step 1: Setup
Define the application dependencies.
-
Create a directory for the project:
$ mkdir composetest $ cd composetest -
Create a file called
app.pyin your project directory and paste this in:import time import redis from flask import Flask app = Flask(__name__) cache = redis.Redis(host='redis', port=6379) def get_hit_count(): retries = 5 while True: try: return cache.incr('hits') except redis.exceptions.ConnectionError as exc: if retries == 0: raise exc retries -= 1 time.sleep(0.5) @app.route('/') def hello(): count = get_hit_count() return 'Hello World! I have been seen {} times.\n'.format(count) if __name__ == "__main__": app.run(host="0.0.0.0", debug=True)In this example,
redisis the hostname of the redis container on the application's network. We use the default port for Redis,6379.Handling transient errors
Note the way the
get_hit_countfunction is written. This basic retry loop lets us attempt our request multiple times if the redis service is not available. This is useful at startup while the application comes online, but also makes our application more resilient if the Redis service needs to be restarted anytime during the app's lifetime. In a cluster, this also helps handling momentary connection drops between nodes. -
Create another file called
requirements.txtin your project directory and paste this in:flask redis
Step 2: Create a Dockerfile
In this step, you write a Dockerfile that builds a Docker image. The image contains all the dependencies the Python application requires, including Python itself.
In your project directory, create a file named Dockerfile and paste the
following:
FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
This tells Docker to:
- Build an image starting with the Python 3.4 image.
- Add the current directory
.into the path/codein the image. - Set the working directory to
/code. - Install the Python dependencies.
- Set the default command for the container to
python app.py.
For more information on how to write Dockerfiles, see the Docker user guide and the Dockerfile reference.
Step 3: Define services in a Compose file
Create a file called docker-compose.yml in your project directory and paste
the following:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"
This Compose file defines two services: web and redis.
Web service
The web service uses an image that's built from the Dockerfile in the current directory.
It then binds the container and the host machine to the exposed port, 5000. This example service uses the default port for
the Flask web server, 5000.
Redis service
The redis service uses a public Redis
image pulled from the Docker Hub registry.
Step 4: Build and run your app with Compose
-
From your project directory, start up your application by running
docker-compose up.$ docker-compose up Creating network "composetest_default" with the default driver Creating composetest_web_1 ... Creating composetest_redis_1 ... Creating composetest_web_1 Creating composetest_redis_1 ... done Attaching to composetest_web_1, composetest_redis_1 web_1 | * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) redis_1 | 1:C 17 Aug 22:11:10.480 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo redis_1 | 1:C 17 Aug 22:11:10.480 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=1, just started redis_1 | 1:C 17 Aug 22:11:10.480 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf web_1 | * Restarting with stat redis_1 | 1:M 17 Aug 22:11:10.483 * Running mode=standalone, port=6379. redis_1 | 1:M 17 Aug 22:11:10.483 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. web_1 | * Debugger is active! redis_1 | 1:M 17 Aug 22:11:10.483 # Server initialized redis_1 | 1:M 17 Aug 22:11:10.483 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. web_1 | * Debugger PIN: 330-787-903 redis_1 | 1:M 17 Aug 22:11:10.483 * Ready to accept connectionsCompose pulls a Redis image, builds an image for your code, and starts the services you defined. In this case, the code is statically copied into the image at build time.
-
Enter
http://0.0.0.0:5000/in a browser to see the application running.If you're using Docker natively on Linux, Docker Desktop for Mac, or Docker Desktop for Windows, then the web app should now be listening on port 5000 on your Docker daemon host. Point your web browser to
http://localhost:5000to find theHello Worldmessage. If this doesn't resolve, you can also tryhttp://0.0.0.0:5000.If you're using Docker Machine on a Mac or Windows, use
docker-machine ip MACHINE_VMto get the IP address of your Docker host. Then, openhttp://MACHINE_VM_IP:5000in a browser.You should see a message in your browser saying:
Hello World! I have been seen 1 times. -
Refresh the page.
The number should increment.
Hello World! I have been seen 2 times. -
Switch to another terminal window, and type
docker image lsto list local images.Listing images at this point should return
redisandweb.$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE composetest_web latest e2c21aa48cc1 4 minutes ago 93.8MB python 3.4-alpine 84e6077c7ab6 7 days ago 82.5MB redis alpine 9d8fa9aa0e5b 3 weeks ago 27.5MBYou can inspect images with
docker inspect <tag or id>. -
Stop the application, either by running
docker-compose downfrom within your project directory in the second terminal, or by hitting CTRL+C in the original terminal where you started the app.
Step 5: Edit the Compose file to add a bind mount
Edit docker-compose.yml in your project directory to add a bind mount for the web service:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: "redis:alpine"
The new volumes key mounts the project directory (current directory) on the
host to /code inside the container, allowing you to modify the code on the
fly, without having to rebuild the image.
Step 6: Re-build and run the app with Compose
From your project directory, type docker-compose up to build the app with the updated Compose file, and run it.
$ docker-compose up
Creating network "composetest_default" with the default driver
Creating composetest_web_1 ...
Creating composetest_redis_1 ...
Creating composetest_web_1
Creating composetest_redis_1 ... done
Attaching to composetest_web_1, composetest_redis_1
web_1 | * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
...
Check the Hello World message in a web browser again, and refresh to see the
count increment.
Shared folders, volumes, and bind mounts
If your project is outside of the
Usersdirectory (cd ~), then you need to share the drive or location of the Dockerfile and volume you are using. If you get runtime errors indicating an application file is not found, a volume mount is denied, or a service cannot start, try enabling file or drive sharing. Volume mounting requires shared drives for projects that live outside ofC:\Users(Windows) or/Users(Mac), and is required for any project on Docker Desktop for Windows that uses Linux containers. For more information, see Shared Drives on Docker Desktop for Windows, File sharing on Docker for Mac, and the general examples on how to Manage data in containers.If you are using Oracle VirtualBox on an older Windows OS, you might encounter an issue with shared folders as described in this VB trouble ticket. Newer Windows systems meet the requirements for Docker Desktop for Windows and do not need VirtualBox. {: .important}
Step 7: Update the application
Because the application code is now mounted into the container using a volume, you can make changes to its code and see the changes instantly, without having to rebuild the image.
-
Change the greeting in
app.pyand save it. For example, change theHello World!message toHello from Docker!:return 'Hello from Docker! I have been seen {} times.\n'.format(count) -
Refresh the app in your browser. The greeting should be updated, and the counter should still be incrementing.
Step 8: Experiment with some other commands
If you want to run your services in the background, you can pass the -d flag
(for "detached" mode) to docker-compose up and use docker-compose ps to
see what is currently running:
$ docker-compose up -d
Starting composetest_redis_1...
Starting composetest_web_1...
$ docker-compose ps
Name Command State Ports
-------------------------------------------------------------------
composetest_redis_1 /usr/local/bin/run Up
composetest_web_1 /bin/sh -c python app.py Up 5000->5000/tcp
The docker-compose run command allows you to run one-off commands for your
services. For example, to see what environment variables are available to the
web service:
$ docker-compose run web env
See docker-compose --help to see other available commands. You can also install command completion for the bash and zsh shell, which also shows you available commands.
If you started Compose with docker-compose up -d, stop
your services once you've finished with them:
$ docker-compose stop
You can bring everything down, removing the containers entirely, with the down
command. Pass --volumes to also remove the data volume used by the Redis
container:
$ docker-compose down --volumes
At this point, you have seen the basics of how Compose works.
Where to go next
- Next, try the quick start guide for Django, Rails, or WordPress
- Explore the full list of Compose commands
- Compose configuration file reference
- To learn more about volumes and bind mounts, see Manage data in Docker


