티스토리 뷰

Backend/Docker

docker-compose 사용하기

out of coding 2020. 3. 29. 13:28

일반적으로 docker 환경을 사용하게 되면 하나의 container만을 이용하는 환경을 만들지는 않습니다.

그렇다 보니 nginx, php, tomcat, mysql 등등 여러가지 service를 사용하게 됩니다.

이렇게 되다 보니 docker run 을 이용하여서 하나씩 구동을 한다는거 자체가 힘이 듭니다.

그래서 docker-compose를 사용하게 되는데요 방법을 알아보도록 하겠습니다.

 

저는 리눅스 환경입니다.

 

1. 일단 docker-compose가 설치되어 있는지 확인합니다.

$ docker-compose -v

버전이 나온다면 설치가 된것입니다. 안되어 있다면 다음을 실행합니다.

https://docs.docker.com/compose/install/

 

Install Docker Compose

You can run Compose on macOS, Windows, and 64-bit Linux. Prerequisites Docker Compose relies on Docker Engine for any meaningful work, so make sure you have Docker Engine installed either...

docs.docker.com

주요 내용은

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

이렇게 하고 버전을 확인합니다.

$ docker-compose --version

 

2. docker-compose 예제

docker-compose.yml 파일을 가지고 실행이 되게 됩니다. 설계도를 넣어주는거라고 생각하시면 될 것 같아요.

version: '3'
services:
  nginx:
    image: nginx:latest
    ports:
      - "80:80"
  php:
    image: php:7.3-fpm
    ports:
      - "9000:9000"
    volumes:
      - ./source:/source

설명을 하자면 version은 compose문서의 버전입니다.

https://docs.docker.com/compose/compose-file/

 

Compose file version 3 reference

Reference and guidelines These topics describe version 3 of the Compose file format. This is the newest version. Compose and Docker compatibility matrix There are several versions of the Compose...

docs.docker.com

services에서 부터 설정을 명시하게 됩니다.

nginx, php: 사용자가 지정하는 이름입니다.

image: 이미지 이름입니다.

ports: 사용하는 포트입니다. 외부:내부 입니다.

volumes: container와 host간의 공유할 디렉토리를 지정합니다.

 

3. docker-compose의 사용

$ docker-compose up // compose를 shell에서 실행
$ docker-compose up -d // daemon으로 실행
$ docker-compose down // compose 중지

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함