<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.pchero21.com/index.php?action=history&amp;feed=atom&amp;title=Docker-compose</id>
	<title>Docker-compose - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.pchero21.com/index.php?action=history&amp;feed=atom&amp;title=Docker-compose"/>
	<link rel="alternate" type="text/html" href="http://wiki.pchero21.com/index.php?title=Docker-compose&amp;action=history"/>
	<updated>2026-04-11T10:21:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>http://wiki.pchero21.com/index.php?title=Docker-compose&amp;diff=3594&amp;oldid=prev</id>
		<title>Pchero at 14:48, 16 December 2019</title>
		<link rel="alternate" type="text/html" href="http://wiki.pchero21.com/index.php?title=Docker-compose&amp;diff=3594&amp;oldid=prev"/>
		<updated>2019-12-16T14:48:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:48, 16 December 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l30&quot;&gt;Line 30:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 30:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                               (default: the path of the Compose file)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                               (default: the path of the Compose file)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   --compatibility             If set, Compose will attempt to convert keys&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   --compatibility             If set, Compose will attempt to convert keys&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                               in v3 files to their non-Swarm equivalent&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                               in v3 files to their non-Swarm equivalent&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== docker-compose.yml ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== docker-compose.yml ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pchero</name></author>
	</entry>
	<entry>
		<id>http://wiki.pchero21.com/index.php?title=Docker-compose&amp;diff=3593&amp;oldid=prev</id>
		<title>Pchero: Created page with &quot;== Overview == docker-compose 내용 정리.  == Basic == Define and run multi-container application with Docker. Docker-compose 는 컨테이너를 여러 개 동작시키는...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.pchero21.com/index.php?title=Docker-compose&amp;diff=3593&amp;oldid=prev"/>
		<updated>2019-12-16T14:48:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Overview == docker-compose 내용 정리.  == Basic == Define and run multi-container application with Docker. Docker-compose 는 컨테이너를 여러 개 동작시키는...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Overview ==&lt;br /&gt;
docker-compose 내용 정리.&lt;br /&gt;
&lt;br /&gt;
== Basic ==&lt;br /&gt;
Define and run multi-container application with Docker. Docker-compose 는 컨테이너를 여러 개 동작시키는 도커 어플리케이션을 정의하고 실행하는 도구이다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage:&lt;br /&gt;
  docker-compose [-f &amp;lt;arg&amp;gt;...] [options] [COMMAND] [ARGS...]&lt;br /&gt;
  docker-compose -h|--help&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
  -f, --file FILE             Specify an alternate compose file&lt;br /&gt;
                              (default: docker-compose.yml)&lt;br /&gt;
  -p, --project-name NAME     Specify an alternate project name&lt;br /&gt;
                              (default: directory name)&lt;br /&gt;
  --verbose                   Show more output&lt;br /&gt;
  --log-level LEVEL           Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)&lt;br /&gt;
  --no-ansi                   Do not print ANSI control characters&lt;br /&gt;
  -v, --version               Print version and exit&lt;br /&gt;
  -H, --host HOST             Daemon socket to connect to&lt;br /&gt;
&lt;br /&gt;
  --tls                       Use TLS; implied by --tlsverify&lt;br /&gt;
  --tlscacert CA_PATH         Trust certs signed only by this CA&lt;br /&gt;
  --tlscert CLIENT_CERT_PATH  Path to TLS certificate file&lt;br /&gt;
  --tlskey TLS_KEY_PATH       Path to TLS key file&lt;br /&gt;
  --tlsverify                 Use TLS and verify the remote&lt;br /&gt;
  --skip-hostname-check       Don't check the daemon's hostname against the&lt;br /&gt;
                              name specified in the client certificate&lt;br /&gt;
  --project-directory PATH    Specify an alternate working directory&lt;br /&gt;
                              (default: the path of the Compose file)&lt;br /&gt;
  --compatibility             If set, Compose will attempt to convert keys&lt;br /&gt;
                              in v3 files to their non-Swarm equivalent&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== docker-compose.yml ==&lt;br /&gt;
docker-compose 에서는 컨테이너 실행에 사용되는 옵션과 컨테이너 간 의존성을 모두 docker-compose.yml 파일에 적어두고, docker-compose 명령어를 사용하여 컨테이너를 실행 및 관리한다.&lt;br /&gt;
&lt;br /&gt;
docker-compose.yml 파일은 옵션을 미리 정의한 문서라고 볼 수 있다. 다음과 같은 내용으로 이루어져 있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: '3'&lt;br /&gt;
&lt;br /&gt;
services:&lt;br /&gt;
  db:&lt;br /&gt;
    image: postgres&lt;br /&gt;
    volumes:&lt;br /&gt;
      - ./docker/data:/var/lib/postgresql/data&lt;br /&gt;
    environment:&lt;br /&gt;
      - POSTGRES_DB=sampledb&lt;br /&gt;
      - POSTGRES_USER=sampleuser&lt;br /&gt;
      - POSTGRES_PASSWORD=samplesecret&lt;br /&gt;
      - POSTGRES_INITDB_ARGS=--encoding=UTF-8&lt;br /&gt;
&lt;br /&gt;
  django:&lt;br /&gt;
    build:&lt;br /&gt;
      context: .&lt;br /&gt;
      dockerfile: ./compose/django/Dockerfile-dev&lt;br /&gt;
    environment:&lt;br /&gt;
      - DJANGO_DEBUG=True&lt;br /&gt;
      - DJANGO_DB_HOST=db&lt;br /&gt;
      - DJANGO_DB_PORT=5432&lt;br /&gt;
      - DJANGO_DB_NAME=sampledb&lt;br /&gt;
      - DJANGO_DB_USERNAME=sampleuser&lt;br /&gt;
      - DJANGO_DB_PASSWORD=samplesecret&lt;br /&gt;
      - DJANGO_SECRET_KEY=dev_secret_key&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;quot;8000:8000&amp;quot;&lt;br /&gt;
    command: &lt;br /&gt;
      - python manage.py runserver 0:8000&lt;br /&gt;
    volumes:&lt;br /&gt;
      - ./:/app/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== version ===&lt;br /&gt;
docker-compose.yml 파일의 첫 줄에는 파일 규격 버전을 적는다. 파일의 규격에 따라 지원하는 옵션이 달라지는데, &amp;quot;3&amp;quot;이라고 적으면 3으로 시작하는 최신버전을 사용한다는 의미이다. 상세한 내용은 이곳&amp;lt;ref&amp;gt;https://docs.docker.com/compose/compose-file/compose-versioning/&amp;lt;/ref&amp;gt;을 참조하자.&lt;br /&gt;
&lt;br /&gt;
=== services ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
이 항목 믙에 실행하려는 컨테이너들을 정의한다. docker-compose 에서는 컨테이너 대신 서비스라는 개념을 사용한다.&lt;br /&gt;
&lt;br /&gt;
=== db ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  db:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
위의 예제에서는 postgres 서비스의 이름을 db로 정의하였다.&lt;br /&gt;
&lt;br /&gt;
=== image ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  db:&lt;br /&gt;
    image: postgres&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
db 서비스에서 사용할 도커 이미지를 정의한다. 여기서는 dockerhub 의 공식 postgres 이미지를 사용한다.&lt;br /&gt;
&lt;br /&gt;
=== volumes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  db:&lt;br /&gt;
    volumes:&lt;br /&gt;
      - ./docker/data:/var/lib/postgresql/data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
docker run 으로 db 컨테이너를 실행할 때 --volume 옵션을 사용하여 데이터베이스의 데이터를 로컬 컴퓨터에 저장하는 부분과 같다.&lt;br /&gt;
&lt;br /&gt;
=== environment ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  db:&lt;br /&gt;
    environment:&lt;br /&gt;
      - POSTGRES_DB=sampledb&lt;br /&gt;
      - POSTGRES_USER=sampleuser&lt;br /&gt;
      - POSTGRES_PASSWORD=samplesecret&lt;br /&gt;
      - POSTGRES_INITDB_ARGS=--encoding=UTF-8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
docker run 명령어 사용시 -e 옵션으로 지정되는 내용을 나타낸다.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* https://www.44bits.io/ko/post/almost-perfect-development-environment-with-docker-and-docker-compose#%EB%8F%84%EC%BB%A4-%EC%BB%B4%ED%8F%AC%EC%A6%88%EB%A1%9C-%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0&lt;br /&gt;
* http://raccoonyy.github.io/docker-usages-for-dev-environment-setup/&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[category:system]]&lt;/div&gt;</summary>
		<author><name>Pchero</name></author>
	</entry>
</feed>