본문 바로가기
devops/docker

Docker-Compose 설명

by 아이티.파머 2019. 6. 21.
반응형

Docker Compose 


    - 다중 컨테이너 응용 프로그램 배포 , 필요에 따라 사용자 지정 Docker 이미지를 사용 할수도 있다. 
    - 기본적으로 배포하려는 각 컨테이너와 컨터이너에 대한 특정 특성을 정의 한다. 


1. 볼륨 리스트 확인


    > docker volume ls


2. 볼륨 상세 정보 확인 

    > docker volume inspect {volume_id or volume_name}


3. 볼륨 삭제

    > docker volume rm {volume_id or volume_name}

 

4. 서비스지우기 - down


    1. down 옵션은 서비스를 지웁니다.
    2. 컨테이너와 네트워크를 삭제하며, 옵션에 따라 볼륨도 지웁니다. 
    3. 볼륨이 연결되어 있으면 디렉토리를 삭제하여도 이미 볼륨이 연결되어 있다고 오류가 발생될수 있습니다. 
         => down -v 옵션으로 볼륨링크를 삭제 합니다.
         => 볼륨링크 삭제후 실제 링크된 디렉토리도 함께 삭제 해야 합니다.
         => docker-compose up -d --build 로 재실행 합니다.


5. 서비스 및 볼륨삭제 

  볼륨 정보
     -> 볼륨을 로컬디렉토리로 연결 시킨경우 rebuild 및 컨테이너 삭제후 재실행(재생성) 하여도 데이터가 남아 있습니다.
     > docker-compose down --volume

6. 도커 머신 내부 접속 

    > docker-machine ssh 

7. 도커컴포저 컨네이너 시작 중지 

    > docker-compose start/stop

8. 도커컴포저 컨네이너 빌드 

    > docker-compose build 
    (yml 값이 변경되면 build 명령으로 rebuild 한다)

9. 도커컴포저  컨네이너 삭제후 재빌드 

    > docker-compose up -d --force-recreate --build


10. docker-compose up -d  의 구동 과정 

    
    docker-compose.yml 파일의 내용에 따라 이미지를 빌드하고 서비스를 실행합니다. 자세한 진행 과정은 다음과 같습니다.       
        1. 서비스를 띄울 네트워크 설정
        2. 필요한 볼륨 생성(혹은 이미 존재하는 볼륨과 연결)
        3. 필요한 이미지 풀(pull)
        4. 필요한 이미지 빌드(build)
        5. 서비스 의존성에 따라 서비스 실행

        up 명령에 사용할 수 있는 몇 가지 옵션도 존재합니다.    
        -d: 서비스 실행 후 콘솔로 빠져나옵니다. (docker run에서의 -d와 같습니다.)
        --force-recreate: 컨테이너를 지우고 새로 만듭니다.
        --build: 서비스 시작 전 이미지를 새로 만듭니다.

11. 기타 

    > docker-compose ps # lists all services (id, name)
    > docker-compose stop <id/name> #this will stop only the selected container
    > docker-compose rm <id/name> # this will remove the docker container permanently 
    > docker-compose up # builds/rebuilds all not already built container 

12. 컨테이너 아이피 확인 방법 

    > docker inspect -f "{{.NetworkSettings.IPAddress}}" CONTAINER_ID
    > docker exec CONTAINER_ID ip addr show eth0
    > docker exec -it CONTAINER_ID /bin/bash


13. 로그 


    서비스의 로그를 확인할 수 있습니다.
    logs 뒤에 서비스 이름을 적지 않으면 도커 컴포즈가 관리하는 모든 서비스의 로그를 함께 보여줍니다.
    
    > $ docker-compose logs ${image_name}

 




참고 : https://docs.microsoft.com/ko-kr/dotnet/standard/microservices-architecture/multi-container-microservice-net-applications/multi-container-applications-docker-compose

 

docker-compose.yml을 사용하여 다중 컨테이너 애플리케이션 정의

docker-compose.yml을 사용하여 다중 컨테이너 애플리케이션에서 마이크로 서비스 컴퍼지션을 지정하는 방법입니다.

docs.microsoft.com

 

 

 

반응형

'devops > docker' 카테고리의 다른 글

Docker Redis  (0) 2020.01.10
docker-compose 예제  (0) 2019.06.21
Dockerfile command / Attribute 명령어 설명  (0) 2019.06.21
docker 기본 명령어 및 설명  (1) 2019.06.21
docker- compose [cassandra / mysql]  (0) 2019.06.05