웹사이트 검색

Docker 1-Click Install을 사용하는 방법


소개

Docker는 애플리케이션을 애플리케이션의 인프라 및 종속성에서 분리하여 개발자가 애플리케이션을 재현 가능하게 빌드, 확장 및 실행하도록 돕기 위해 만들어진 플랫폼입니다. 기본적으로 Docker는 컨테이너라는 추상화에서 응용 프로그램 프로세스를 관리하는 소프트웨어로, 운영 체제 수준의 가상화를 사용하여 자체 포함된 이미지로 소프트웨어를 제공합니다. Docker는 애플리케이션 개발 및 배포에 널리 사용됩니다.

이 튜토리얼에서 강조된 사용 사례는 단일 Droplet에서 Docker 및 여러 컨테이너를 사용하려는 사용자에게 가장 적합합니다.

이 튜토리얼은 DigitalOcean Docker 1-Click 앱을 사용하여 Docker 및 Docker Compose가 사전 설치된 DigitalOcean Droplet을 회전시키는 방법을 안내합니다. Droplet을 만든 후에는 다른 사용 사례와 일반적인 Docker 명령을 안내받게 됩니다. 이 1-Click Droplet은 표준 Ubuntu 20.04 Droplet을 기반으로 하므로 이 가이드를 완료한 후 생성된 Droplet에 대한 Docker 자습서를 따를 수 있습니다.

소프트웨어 포함

이 자습서를 마치면 Docker 1-Click을 사용하여 다음과 같이 추가된 Ubuntu 20.04 Droplet을 갖게 됩니다.

  • Docker CE(버전 20.10.7): Docker CE 또는 Docker Community Edition은 Docker를 시작하는 가장 빠른 방법 중 하나이며 컨테이너 기반 애플리케이션을 실험하려는 개발자 및 중소기업에 이상적입니다. .
  • Docker Compose(버전 1.27.0): Docker Compose는 개발자가 다중 컨테이너 애플리케이션을 정의하고 공유하는 데 도움이 되는 도구입니다. Compose를 사용하면 YAML 파일을 사용하여 필요한 서비스를 정의하고 단일 명령으로 서비스를 가동(또는 해체)할 수 있습니다.

패키지 설치 외에도 이 1-Click은 다음을 처리합니다.

  • 공식 Docker 권장 사항에 따른 Docker 구성
  • 공식 Docker Compose 권장 사항에 따른 Docker Compose 구성

이 글을 쓰는 시점에서 이 1-Click 솔루션은 docker-compose를 사용하는 Docker Compose v1을 설치합니다. Docker Compose v2부터 Docker는 새 compose와 이전 간의 명령 호환성에 대한 공식 Docker 문서에 설명된 대로 compose CLI 플러그인 명령을 사용하도록 마이그레이션했습니다. docker-compose.

1단계 — Docker Droplet 생성

Marketplace에서 사용할 수 있는 Docker 1-Click Droplet을 생성하여 시작하고 DigitalOcean 제어판으로 전달합니다. DigitalOcean 제어판을 통해 Docker 1-Click 앱을 생성하는 것 외에도 DigitalOcean API를 사용하여 이 Docker Droplet을 생성할 수도 있지만 이 자습서에서는 자세히 다루지 않습니다.

Docker 1-Click 앱에서 Docker Droplet을 만들려면 Create Docker Droplet 버튼을 누릅니다.

DigitalOcean 계정에 로그인하지 않은 경우 여기에서 계속하려면 로그인해야 합니다. 계정이 없으면 가입하라는 메시지가 표시됩니다.

다음으로 드롭릿 만들기 페이지로 이동합니다. 여기에서 Docker Droplet을 만들기 전에 서버 설정을 사용자 지정할 수 있습니다. 첫 번째 물방울을 만드는 방법에 자세히 설명되어 있지만 고려해야 할 주요 설정은 다음과 같습니다.

이미지 선택:

이미지는 Docker가 선택된 Marketplace 탭으로 이미 설정되어 있습니다. 설정되지 않은 경우 Marketplace 탭으로 전환하고 검색 키워드 상자에서 Docker를 검색합니다. 올바르게 설정되면 제어판은 다음과 같이 표시됩니다.

Ubuntu 20.04의 Docker 19.03.12가 선택됩니다. 그렇지 않은 경우 다시 검색 상자를 사용하여 Docker를 검색합니다.

Docker 이미지가 제대로 선택되면 기본값을 수락하거나 사용 사례에 따라 설정을 조정할 수 있습니다. 일반적으로 다음 변경 사항을 권장합니다.

데이터 센터 지역 선택:

잠재적인 대기 시간을 방지하려면 사용자 기반에 가장 가까운 데이터 센터 지역을 선택하는 것이 좋습니다. 일부 지역에는 둘 이상의 데이터 센터가 있습니다. 이러한 동일한 지역 데이터 센터(예: SFO3 및 SFO2) 간에는 차이가 없습니다.

플랜 선택:

Docker로 Droplet을 실행하려면 최소 1GB의 RAM이 있는 것이 좋습니다.

인증 방법 선택

Droplet의 비밀번호가 아닌 SSH 키 옵션이 권장됩니다. SSH 키를 사용한 인증은 일반적으로 더 안전합니다.

추가 옵션 선택:

개선된 지표 모니터링 및 알림을 드롭릿에 추가하면 시간이 지남에 따라 드롭릿 리소스 사용량을 추적하는 데 도움이 됩니다. 자동 백업 활성화를 고려할 수도 있습니다. 나중에 다시 돌아와서 이미 생성한 Droplet에서 백업 기능을 활성화할 수도 있습니다.

호스트 이름 선택:

Droplet에 "Docker Droplet 1\과 같이 기억하기 쉬운 식별 이름을 지정하거나 사용할 응용 프로그램 이름을 따서 이름을 지정할 수 있습니다.

모든 선택을 마친 후 제어판 화면 하단 표시줄에서 드롭릿 만들기를 클릭합니다. Droplet이 생성되면 해당 IP 주소가 표시됩니다.

이 IP 주소는 Droplet에 연결하고 나중에 수행할 수 있는 구성에 중요합니다. IP 주소 위로 마우스를 가져가면 클립보드에 복사할 수 있습니다.

1-Click Marketplace를 통해 생성된 Droplet은 시작하기를 클릭하여 액세스할 수 있는 추가 리소스와 함께 제공됩니다.

이렇게 하면 선택한 1-클릭과 관련된 추가 정보를 얻을 수 있는 새 패널이 토글됩니다. 여기에는 개요, 드롭릿 사용을 시작하기 위한 추가 단계, 커뮤니티 사이트의 관련 자습서 링크가 포함됩니다. 또한 Docker에 대한 지원 및 추가 리소스를 찾을 수 있는 위치와 같은 유용한 링크입니다.

2단계 — SSH를 통해 드롭릿에 액세스하여 구성 활성화

Docker Droplet을 가동하고 나면 SSH를 사용하여 Droplet에 연결하는 방법이 필요합니다.

  1. ssh root@your_server_ip

3단계 — Docker 작업 및 첫 번째 컨테이너 만들기

Docker Droplet이 실행 중이므로 이제 Docker 작업을 시작할 수 있습니다. 활성 및 비활성 Docker 컨테이너 목록을 표시하려면 다음 명령을 입력하십시오.

  1. docker ps -a
Output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

새로 생성된 Droplet이고 Docker를 새로 설치하면 컨테이너 목록이 비어 있을 것입니다. Docker 사용 방법을 배우고 첫 번째 컨테이너를 생성하려면 Ubuntu 20.04에서 Docker를 설치 및 사용하는 방법의 3단계부터 이 자습서를 따를 수 있습니다. 이 자습서에서는 Docker 이미지를 사용하고 애플리케이션으로 컨테이너를 만드는 과정을 자세히 안내합니다.

Docker 사용에 대한 자세한 내용은 Docker 이미지, 컨테이너 및 볼륨을 제거하는 방법과 같은 자습서를 확인할 수 있습니다.

4단계 - 새 사용자 생성 및 권한 및 방화벽 조정(선택 사항)

새 Droplet은 기본 루트 사용자인 단 한 명의 사용자와 함께 제공됩니다. Docker는 루트 사용자로 작업할 수 있지만 sudo를 통해 새 사용자를 설정하고 관리 권한을 부여할 수도 있습니다. 이것은 다른 보안 권장 사항과 함께 Ubuntu 20.04에서 Docker를 설치하고 사용하는 방법에서 찾을 수 있으므로 보다 간결한 방식으로 Docker 명령을 실행할 수 있습니다.

이 Droplet은 UFW를 방화벽으로 구성하여 제공됩니다. 기본적으로 Docker용 포트 23752376과 함께 SSH용 포트 22가 열려 있습니다. 이러한 포트는 Docker 프로세스에 대한 외부 액세스 권한을 부여하기 위해 열려 있지만 이 사용 사례가 필요한 범위에 없는 경우 방화벽에서 이러한 포트에 대한 액세스를 닫도록 선택할 수 있습니다.

또한 UFW는 낮은 수준의 iptables 방화벽에 대한 프런트엔드 역할을 하는 반면 Docker는 iptables를 직접 수정하여 컨테이너와의 통신을 설정합니다. 즉, UFW는 방화벽 설정에 대한 전체 그림을 제공하지 않습니다. Docker 데몬에 --iptables=false를 추가하여 Docker에서 이 동작을 재정의할 수 있습니다.

결론

이제 Docker 1-Click Droplet이 실행 중이지만 실제 애플리케이션이 내부에 배포되면 컨테이너의 기능이 더욱 분명해집니다. 다음은 널리 사용되는 사용 사례를 다루는 몇 가지 자습서이며, 모두 사전 설치된 Docker 및 Docker Compose 소프트웨어로 따를 수 있습니다.

  • Docker Compose with Node.js: Node.js는 JavaScript 프로그래밍 언어용 런타임이며 많은 애플리케이션 개발에 유용합니다.
  • Docker Compose with Wordpress: Wordpress는 자체 웹사이트를 호스팅하는 데 널리 사용되는 솔루션입니다.
  • Laravel을 사용한 Docker Compose: Laravel은 PHP 언어를 사용하여 웹사이트를 구축하는 강력한 프레임워크입니다.
  • Docker Compose with Nginx: Nginx는 널리 사용되는 웹 서버이자 리버스 프록시 서버입니다.

Docker에 대해 자세히 알아보려면 Kubernetes에 최적화된 컨테이너 빌드를 확인하십시오.