Difference between revisions of "Docker-compose"

From wikieduonline
Jump to navigation Jump to search
 
(30 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
{{lowercase}}
 
[[wikipedia:Docker_(software)#Tools|Docker Compose]]<ref>https://docs.docker.com/compose/</ref> is a tool available since October 2014 for defining and running multi-[[container]] [[Docker]] applications.
 
[[wikipedia:Docker_(software)#Tools|Docker Compose]]<ref>https://docs.docker.com/compose/</ref> is a tool available since October 2014 for defining and running multi-[[container]] [[Docker]] applications.
  
 
Rules are defined in <code>[[docker-compose.yml]]</code> and executed by running <code>[[docker-compose up]]</code> command.
 
Rules are defined in <code>[[docker-compose.yml]]</code> and executed by running <code>[[docker-compose up]]</code> command.
  
<code>docker-compose</code> allows to define start order dependencies between [[containers]].
+
<code>docker-compose</code> allows to define start order [[dependencies]] between [[containers]].
  
 
For reference of valid options for docker compose check: https://docs.docker.com/compose/compose-file/
 
For reference of valid options for docker compose check: https://docs.docker.com/compose/compose-file/
  
 
== Installation ==
 
== Installation ==
* <code>[[brew]] install docker-compose</code>
+
Available for [[macOS]], [[Linux]] and [[Windows]]
 +
* macOS: <code>[[brew install]] docker-compose</code>
 +
* Linux:
 +
** <code>[[pip install docker-compose]]</code>
 +
** <code>[[apt install docker-compose]]</code>
  
 
== Basic commands ==
 
== Basic commands ==
* <code>docker-compose -h</code> (for list of commands and options)
+
* <code>[[docker-compose -h]]</code> (for list of commands and options)
  
 
* <code>docker-compose --log-level</code>
 
* <code>docker-compose --log-level</code>
  
 
* <code>[[docker-compose up]]</code><ref>https://docs.docker.com/compose/reference/up/</ref> Builds, (re)creates, starts, and attaches to containers for a service.
 
* <code>[[docker-compose up]]</code><ref>https://docs.docker.com/compose/reference/up/</ref> Builds, (re)creates, starts, and attaches to containers for a service.
 +
:: <code>[[docker-compose up]] SERVICE_NAME</code>
 
:: <code>[[docker-compose up]] -d</code>
 
:: <code>[[docker-compose up]] -d</code>
 
:::<code>-d daemon</code>
 
:::<code>-d daemon</code>
Line 22: Line 28:
 
: <code>YOUR_VARIABLE=YOUR_VALUE docker-compose up</code><ref>https://www.oreilly.com/ideas/3-docker-compose-features-for-improving-team-development-workflow</ref>
 
: <code>YOUR_VARIABLE=YOUR_VALUE docker-compose up</code><ref>https://www.oreilly.com/ideas/3-docker-compose-features-for-improving-team-development-workflow</ref>
  
* <code>docker-compose -p NAME  --project-name</code>
+
* <code>[[docker-compose -p]] YOUR_PROJECT_NAME or [[docker-compose --project-name YOUR_PROJECT_NAME</code>
  
Logs:
+
* [[docker-compose --env-file]]
 +
 
 +
=== Logs ===
 
* <code>[[docker-compose logs]]</code> View output from containers
 
* <code>[[docker-compose logs]]</code> View output from containers
 
** <code>docker-compose logs -f</code> View output from containers
 
** <code>docker-compose logs -f</code> View output from containers
 
* <code>[[docker-compose pull]] SERVICE_NAME</code> or <code>docker-compose pull</code>
 
* <code>[[docker-compose pull]] SERVICE_NAME</code> or <code>docker-compose pull</code>
** <code>docker-compose --verbose pull</code>
+
** <code>[[docker-compose --verbose]] pull</code>
 
*<code>[[docker-compose version]]</code>
 
*<code>[[docker-compose version]]</code>
  
 
== All commands ==
 
== All commands ==
 
<code>docker-compose</code><ref>https://docs.docker.com/compose/reference/</ref>
 
<code>docker-compose</code><ref>https://docs.docker.com/compose/reference/</ref>
* <code>docker-compose build</code>
+
* <code>[[docker-compose build]]</code>
* <code>docker-compose bundle</code>
+
* <code>[[docker-compose bundle]]</code>
 
* <code>[[docker-compose config]]</code>
 
* <code>[[docker-compose config]]</code>
 
* <code>[[docker-compose create]]</code> (deprecated)
 
* <code>[[docker-compose create]]</code> (deprecated)
 
* <code>[[docker-compose down]]</code>
 
* <code>[[docker-compose down]]</code>
::<code>docker-compose down --remove-orphans</code>
+
::<code>[[docker-compose down --remove-orphans]]</code>
 
::<code>docker-compose down --volumes</code>
 
::<code>docker-compose down --volumes</code>
 
* <code>[[docker-compose events]]</code>
 
* <code>[[docker-compose events]]</code>
* <code>docker-compose exec</code>
+
* <code>[[docker-compose exec]]</code>
 
* <code>docker-compose help</code>
 
* <code>docker-compose help</code>
 
* <code>[[docker-compose images]]</code>
 
* <code>[[docker-compose images]]</code>
Line 56: Line 64:
 
*<code>docker-compose scale</code>
 
*<code>docker-compose scale</code>
 
*<code>[[docker-compose start]]</code>
 
*<code>[[docker-compose start]]</code>
*<code>docker-compose stop</code>  
+
*<code>[[docker-compose stop]]</code>  
 
*<code>[[docker-compose top]]</code> (Feb 2017) <ref>https://github.com/docker/compose/blob/master/CHANGELOG.md#1110-2017-02-08</ref>
 
*<code>[[docker-compose top]]</code> (Feb 2017) <ref>https://github.com/docker/compose/blob/master/CHANGELOG.md#1110-2017-02-08</ref>
 
*<code>docker-compose unpause</code>
 
*<code>docker-compose unpause</code>
Line 77: Line 85:
 
# Read [[Ansible module]] documentation about <code>docker_compose</code>: https://docs.ansible.com/ansible/latest/modules/docker_compose_module.html
 
# Read [[Ansible module]] documentation about <code>docker_compose</code>: https://docs.ansible.com/ansible/latest/modules/docker_compose_module.html
 
# Learn to use extension-fields<ref>https://docs.docker.com/compose/compose-file/#extension-fields </ref> or templating added in 3.4 version. <ref>https://www.oreilly.com/ideas/3-docker-compose-features-for-improving-team-development-workflow</ref>
 
# Learn to use extension-fields<ref>https://docs.docker.com/compose/compose-file/#extension-fields </ref> or templating added in 3.4 version. <ref>https://www.oreilly.com/ideas/3-docker-compose-features-for-improving-team-development-workflow</ref>
 +
 +
 +
== Related terms ==
 +
* <code>[[--force-recreate]]</code>
 +
* <code>[[/etc/docker/daemon.json]]</code>
 +
* <code>[[volumes:]]</code>
 +
* <code>[[links:]]</code>
 +
* <code>[[environment:]]</code>
 +
* [[Nomad]]
 +
* [[Docker-compose.yml examples]]: [[Mediawiki official docker-compose example]]
 +
* [[Docker compose release notes]]
 +
* [[Docker compose for amazon ECS]]
  
 
== See also ==
 
== See also ==
* [[docker-compose release notes]]
 
 
* {{docker stack}}
 
* {{docker stack}}
* {{kubernetes}}
 
 
* {{docker-compose}}
 
* {{docker-compose}}
 
* {{docker}}
 
* {{docker}}
 
  
 
{{CC license}}
 
{{CC license}}

Latest revision as of 12:28, 25 October 2024

Docker Compose[1] is a tool available since October 2014 for defining and running multi-container Docker applications.

Rules are defined in docker-compose.yml and executed by running docker-compose up command.

docker-compose allows to define start order dependencies between containers.

For reference of valid options for docker compose check: https://docs.docker.com/compose/compose-file/

Installation[edit]

Available for macOS, Linux and Windows

Basic commands[edit]

  • docker-compose --log-level
docker-compose up SERVICE_NAME
docker-compose up -d
-d daemon
docker-compose -f docker-compose_YOUR_NAME.yml up -d
  • Start your containers with a command line variable:
YOUR_VARIABLE=YOUR_VALUE docker-compose up[3]
  • docker-compose -p YOUR_PROJECT_NAME or [[docker-compose --project-name YOUR_PROJECT_NAME

Logs[edit]

All commands[edit]

docker-compose[4]

docker-compose down --remove-orphans
docker-compose down --volumes

Operations:

Docker compose file: docker-compose.yml[edit]

Activities[edit]

Basic[edit]

  1. Read docker-compose StackOverflow questions: https://stackoverflow.com/questions/tagged/docker-compose?tab=Votes
  2. Read docker-compose changelog: https://github.com/docker/compose/blob/master/CHANGELOG.md
  3. Review docker compose file format evolution

Advanced[edit]

  1. Read docker-compose source code: https://github.com/docker/compose
  2. Read Ansible module documentation about docker_compose: https://docs.ansible.com/ansible/latest/modules/docker_compose_module.html
  3. Learn to use extension-fields[8] or templating added in 3.4 version. [9]


Related terms[edit]

See also[edit]

Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy.

Source: https://en.wikiversity.org/wiki/DevOps/Docker/docker_compose

Advertising: