Debian 11에 Docker 및 Docker Compose를 설치하는 방법
이 페이지에서
- 전제 조건
- 시작하기\n
- 도커 설치
- Docker 서비스 관리
- Docker를 사용하여 컨테이너 실행\n
- Docker Compose 설치
- Docker Compose 명령
- 결론
Docker는 컨테이너화된 환경에서 애플리케이션을 개발, 배송 및 실행할 수 있는 무료 오픈 소스 플랫폼입니다. 애플리케이션을 인프라에서 분리할 수 있습니다. 이렇게 하면 컨테이너를 더 쉽고 간단하고 안전하게 구축, 배포 및 관리할 수 있습니다. Docker는 로컬 개발 환경을 설정하도록 설계되었습니다.
애플리케이션에 대해 둘 이상의 컨테이너를 만들려면 Docker Compose를 사용해야 합니다. Docker-compose는 다중 컨테이너 애플리케이션을 정의하고 공유하는 데 사용되는 도구입니다. Docker Compose를 사용하면 YAML 파일을 사용하여 모든 서비스를 정의하고 간단한 명령을 사용하여 한 번에 실행할 수 있습니다.
이 자습서에서는 Debian 11 시스템에 Docker 및 Docker Compose를 설치하는 방법을 보여줍니다.
전제 조건
- Debian 11을 실행하는 서버.\n
- 루트 암호는 서버에서 구성됩니다.\n
시작하기
먼저 시스템 패키지 캐시를 최신 버전으로 업데이트하는 것이 좋습니다. 다음 명령을 사용하여 업데이트할 수 있습니다.
apt-get update -y
완료되면 다음 명령을 사용하여 다른 필수 종속 항목을 설치합니다.
apt-get install apt-transport-https software-properties-common ca-certificates curl gnupg lsb-release -y
도커 설치
기본적으로 최신 버전의 Docker는 Debian 11 공식 리포지토리에 포함되어 있지 않습니다. 따라서 APT에 Docker CE 리포지토리를 추가해야 합니다. 다음 명령을 사용하여 추가할 수 있습니다.
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Docker 리포지토리가 추가되면 리포지토리를 업데이트하고 다음 명령을 사용하여 Docker CE를 설치합니다.
apt-get update -y
apt-get install docker-ce docker-ce-cli -y
설치 후 다음 명령을 사용하여 Docker CE 버전을 확인합니다.
docker version
다음 출력이 표시되어야 합니다.
Client: Docker Engine - Community Version: 20.10.8 API version: 1.41 Go version: go1.16.6 Git commit: 3967b7d Built: Fri Jul 30 19:54:22 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.8 API version: 1.41 (minimum version 1.12) Go version: go1.16.6 Git commit: 75249d8 Built: Fri Jul 30 19:52:31 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.9 GitCommit: e25210fe30a0a703442421b0f60afac609f950a3 runc: Version: 1.0.1 GitCommit: v1.0.1-0-g4144b63 docker-init: Version: 0.19.0 GitCommit: de40ad0
Docker 서비스 관리
systemd 유틸리티를 사용하여 Docker 서비스를 쉽게 관리할 수 있습니다.
Docker 서비스를 시작하려면 다음 명령을 실행합니다.
systemctl start docker
Docker 서비스를 다시 시작하려면 다음 명령을 실행합니다.
systemctl restart docker
Docker 서비스를 중지하려면 다음 명령을 실행합니다.
systemctl stop docker
시스템 재부팅 시 Docker 서비스가 시작되도록 하려면 다음 명령을 실행하십시오.
systemctl enable docker
Docker 상태를 확인하려면 다음 명령을 실행합니다.
systemctl status docker
다음 출력에서 Docker의 상태를 확인해야 합니다.
? docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-09-10 07:19:35 UTC; 27s ago TriggeredBy: ? docker.socket Docs: https://docs.docker.com Main PID: 29018 (dockerd) Tasks: 7 Memory: 32.6M CPU: 407ms CGroup: /system.slice/docker.service ??29018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809035575Z" level=info msg="scheme \"unix\" not registered, fallback to def> Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809219999Z" level=info msg="ccResolverWrapper: sending update to cc: {[{uni> Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809410545Z" level=info msg="ClientConn switching balancer to \"pick_first\"> Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.897972507Z" level=info msg="Loading containers: start." Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.186940748Z" level=info msg="Default bridge (docker0) is assigned with an IP> Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.298681937Z" level=info msg="Loading containers: done." Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.356364773Z" level=info msg="Docker daemon" commit=75249d8 graphdriver(s)=ov> Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.357524464Z" level=info msg="Daemon has completed initialization" Sep 10 07:19:35 debian11 systemd[1]: Started Docker Application Container Engine. Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.401626151Z" level=info msg="API listen on /run/docker.sock"
Docker를 사용하여 컨테이너 실행
docker run 명령을 사용하여 이미지를 다운로드하고 컨테이너 내에서 실행할 수 있습니다.
예를 들어 다음 명령을 실행하여 Debian 이미지를 다운로드하고 컨테이너를 실행합니다.
docker run --rm -it --name test debian:latest /bin/sh
다음 출력이 표시되어야 합니다.
Unable to find image 'debian:latest' locally latest: Pulling from library/debian 955615a668ce: Pull complete Digest: sha256:08db48d59c0a91afb802ebafc921be3154e200c452e4d0b19634b426b03e0e25 Status: Downloaded newer image for debian:latest #
다음 명령을 실행하여 Debian 컨테이너를 종료합니다.
#exit
Docker Compose 설치
기본적으로 Docker Compose는 Debian 11 기본 리포지토리에서 사용할 수 없습니다. 따라서 Github에서 Docker Compose 바이너리를 다운로드해야 합니다.
다음 명령을 실행하여 Docker Compose 바이너리를 다운로드합니다.
curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-Linux-x86_64 | cut -d '"' -f 4 | wget -qi -
다운로드가 완료되면 다운로드한 파일에 실행 권한을 설정하고 다음 명령을 사용하여 시스템 경로로 이동합니다.
chmod +x docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
다음으로 다음 명령을 사용하여 Docker Compose 버전을 확인합니다.
docker-compose version
다음 출력이 표시되어야 합니다.
docker-compose version 1.29.2, build 5becea4c docker-py version: 5.0.0 CPython version: 3.7.10 OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
Docker 작성 명령
Docker 작성 파일을 실행하려면 다음 명령을 실행하십시오.
docker-compose up -d
실행 중인 모든 컨테이너를 중지하려면 다음 명령을 실행합니다.
docker-compose down
실행 중인 컨테이너를 일시 중지하고 일시 중지를 해제하려면 다음 명령을 실행합니다.
docker-compose pause
docker-compose unpause
실행 중인 모든 컨테이너를 나열하려면 다음 명령을 실행합니다.
docker-compose ps
실행 중인 서비스의 로그를 확인하려면 다음 명령을 실행합니다.
docker-compose logs
결론
축하합니다! Debian 11에 Docker 및 Docker Compose를 성공적으로 설치했습니다. 이제 Docker 및 Docker Compose를 사용하여 애플리케이션을 빌드, 배송 및 실행할 수 있습니다.