티스토리 뷰

1. Docker Compose 설치

예상 독서 시간 : 7 분

macOS, Windows 및 64 비트 Linux에서 Compose를 실행할 수 있습니다.

Docker Compose는 의미있는 작업을 위해 Docker Engine을 사용하므로 설정에 따라 Docker Engine을 로컬 또는 원격으로 설치했는지 확인하십시오.

  • Mac 및 Windows 용 Docker Desktop과 같은 데스크탑 시스템에서 Docker Compose는 이러한 데스크탑 설치의 일부로 포함됩니다.

  • Linux 시스템에서 먼저 Docker 가져 오기 페이지에 설명 된대로 OS 용 Docker Engine  설치 한 다음 Linux 시스템에 Compose 설치에 대한 지시 사항을 보려면 여기로 돌아 오십시오.

  • 루트가 아닌 사용자로 작성을 실행하려면 루트가 아닌 사용자로 Docker 관리를 참조 하십시오 .

아래 지침에 따라 Mac, Windows, Windows Server 2016 또는 Linux 시스템에 pip Compose를 설치하거나 Python 패키지 관리자 사용 또는 컨테이너로 Compose 설치 와 같은 대안에 대해 알아보십시오 .

다른 버전 설치

아래 지시 사항 은 Compose 의 현재 안정 릴리스 ( v1.25.4 ) 설치를 요약 합니다. 다른 버전의 Compose를 설치하려면 제공된 릴리스 번호를 원하는 버전으로 바꾸십시오. 작성 릴리스는 GitHub  작성 저장소 릴리스 페이지에 나열되어 있으며 직접 다운로드 할 수도 있습니다 . Compose 시험판 을 설치하려면 시험판 빌드 설치 섹션을 참조하십시오.

2. Linux 시스템에 Compose 설치 

Linux에서는 GitHub  Compose 저장소 릴리스 페이지 에서 Docker Compose 바이너리를 다운로드 할 수 있습니다 . curl이진 파일을 다운로드하려면 터미널 에서 명령을 실행하는 링크의 지침을 따르십시오 . 이러한 단계별 지침도 아래에 포함되어 있습니다.

의 경우는 alpine, 다음과 같은 종속 패키지가 필요하다 : py-pip, python-dev, libffi-dev, openssl-dev, gcc, libc-dev,와 make.

1. 명령을 실행하여 Docker Compose의 현재 안정 릴리스를 다운로드하십시오.

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

참고 : docker-compose설치 후 명령 이 실패하면 경로를 확인하십시오. /usr/bin경로의 다른 디렉토리에 대한 심볼릭 링크를 만들 수도 있습니다 .

2. 바이너리에 실행 권한을 적용하십시오.

sudo chmod +x /usr/local/bin/docker-compose

예를 들면 다음과 같습니다.

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

3. 선택적으로 and 쉘에 대한 명령 완료  설치 하십시오 설치를 테스트하십시오.

$ docker-compose --version docker-compose version 1.25.4, build 1110ad01

시험판 빌드에서는 새로운 기능이 출시되기 전에 시험해 볼 수 있지만 안정성이 떨어질 수 있습니다.

3. 업그레이드 

Compose 1.2 이하에서 업그레이드하는 경우 Compose를 업그레이드 한 후 기존 컨테이너를 제거하거나 마이그레이션하십시오. 버전 1.3부터 ​​Compose는 Docker 레이블을 사용하여 컨테이너를 추적하고 레이블을 추가하려면 컨테이너를 다시 작성해야하기 때문입니다.

Compose가 레이블없이 작성된 컨테이너를 감지하면 실행을 거부하므로 두 세트로 끝나지 않습니다. 기존 컨테이너를 계속 사용하려면 (예 : 보존하려는 데이터 볼륨이 있으므로) Compose 1.5.x를 사용하여 다음 명령으로 컨테이너를 마이그레이션 할 수 있습니다.

 

docker-compose migrate-to-labels

또는 보관에 대해 걱정하지 않으면 제거 할 수 있습니다. 작성은 새로운 것을 작성합니다.(예 컨테이너 네임이 

 myapp_web_1 myapp_db_1 가정하에..)

docker container rm -f -v myapp_web_1 myapp_db_1 ...

4. Docker Compose를 설치 제거

다음을 사용하여 설치 한 경우 Docker Compose를 설치 제거하려면 다음을 수행하십시오 curl.

sudo rm /usr/local/bin/docker-compose

다음을 사용하여 설치 한 경우 Docker Compose를 설치 제거하려면 다음을 수행하십시오 pip.

 

pip uninstall docker-compose

 

5. 도커 컴포즈로.. 몽고 디비 설치 하기 

 

1)  파일 작성하기 vi 열고 아래와 같이 작성해봅니다. (docker-compose.yml)

version: '3.7'
services:
  mongodb_container:
    image: mongo:latest
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: rootpassword
    ports:
      - 27017:27017
    volumes:
      - mongodb_data_container:/data/db

volumes:
  mongodb_data_container:

위의 Docker Compose 파일이란 무엇입니까?

MongoDB 이미지가 있으며 최신 버전이 필요합니다. 이 글을 쓰는 시점에서 최신 버전의 MongoDB는 4.2.2입니다. MongoDB에는 사용자 root와 비밀번호가 rootpassword있습니다. 포트 27017을 호스트 시스템에 노출시킵니다.

또한 데이터 컨테이너를 사용하여이라는 데이터를 저장합니다 mongodb_data_container. 데이터 지속성에 유용하므로 나중에 command를 호출해도 데이터가 삭제되지 않습니다 docker-compose down.

실행해 봅시다.

docker-compose up -d
docker ps

* 실행하면 아래와 같이 도커인스톨이 안됐다고 메세지가 뜹니다. 도커를 인스톨 해줍니다.

또 에러가 발생하네요 

 

도커를 스타트 해줍니다. [systemctl start docker]

결과는 다음과 같습니다.

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMES
4056a520c8ea        mongo:latest        "docker-entrypoint.s…"   19 hours ago        Up 19 hours         0.0.0.0:27017->27017/tcp   mongodb_mongodb_container_1

 

잘 보이고 MongoDB 컨테이너가 잘 실행되고 있습니다.

 

데이터 컨테이너를 확인하려면 아래 명령으로 확인하십시오.

 

docker volume ls

아래와 같이 표시됩니다.

DRIVER VOLUME NAME local mongodb_mongodb_data_container

MongoDB 서버에 연결하는 방법

1. 몽고 디비 실행 

    도커 프로세스를 확인후 도커안까지 들어가 몽고 디비 실행까지 해봅니다. 

 

mongo admin -u root -p rootpassword

로컬 호스트 포트 27017에 연결됩니다.

주의 mongo명령이 컴퓨터에 설치되어 있어야합니다. 
Linux에서는 설치 mongodb-org-shell만 되어야합니다 . 
자세한 내용은 https://docs.mongodb.com/manual/installation/을 참조하십시오.

보너스! mongo shell을 통해 로그인 한 후 몇 가지 빠른 팁

유용한 명령들.

데이터베이스 표시 하는 명령어 입니다. 

show dbs

 

존재하지 않는 새 데이터베이스를 작성하십시오.

 

use mydatabase

컬렉션 표시 :

 

show collections

컬렉션의 내용 / 문서 표시 :

 

db.your_collection_name.find()

컬렉션에 데이터를 저장하십시오.

 

db.your_collection_name.save({"name":"Sony AK"})

데이터베이스 버전 표시 :

 

db.version()

이제 원하는 목적으로 로컬 MongoDB 데이터베이스 서버를 즐길 수 있습니다. 나 에게이 설정은 테스트 목적으로 적합합니다.

MongoDB 서버를 중지하는 방법

모든 컨테이너를 삭제하지 않고 데이터베이스를 종료합니다.

 

docker-compose stop

데이터베이스를 종료하고 모든 컨테이너를 삭제합니다.

 

docker-compose down

그게 다야 우리는 끝났습니다. 이미 일부 데이터를 작성하면 사라지지 않습니다.

위 코드는 GitHub 리포지토리 ( https://github.com/sonyarianto/docker-compose-mongodb) 에서도 제공됩니다.

감사합니다. 즐기시기 바랍니다.

 

댓글