도커 명령

Dokeo Myeonglyeong



Docker가 처음이신가요? Docker 명령으로 어려움을 겪고 있습니까? Docker가 작동하는 방식과 Docker 컨테이너 이미지가 어떻게 빌드되는지 궁금하십니까?

음, 운 좋게도 올바른 위치에 도달했습니다!

이 간단하고 자율적인 실습 자습서에서는 Ubuntu 운영 체제에서 Docker 명령을 사용하는 데 도움을 줄 것입니다. 이 가이드는 Docker가 무엇이고 어떻게 작동하는지, Ubuntu에 Docker를 설치하는 방법 및 Docker에서 Docker 명령을 사용하는 방법에 대한 간략한 개요를 제공합니다. 주로 사용되는 Docker 명령을 보여주고 애플리케이션에서 Docker 명령을 사용할 수 있도록 몇 가지 빠른 예를 제시합니다.







자습서에서는 Ubuntu에 Docker를 설치하고, Docker 이미지를 빌드하고, Ubuntu에서 이미지를 가져오고, Docker 명령으로 소프트웨어 및 응용 프로그램을 설치하고, systemctl 명령이 무엇인지, Docker에서 이를 사용하는 방법, 볼륨을 사용하여 데이터를 유지하는 방법 및 여러 Docker에 대해 설명합니다. 명령. 간단한 예제를 사용하여 사용자 지정된 Docker 이미지를 빌드하고 일부 네트워킹도 수행할 수 있습니다.



2013년 도커 출시 이후 연일 유명세를 타고 있다. 솔로몬 Hykes는 DockerCon에서 나중에 Docker라는 이름을 사용하는 오픈 소스 프로젝트로 Docker를 출시했습니다. Docker 플랫폼은 기본적으로 Windows 및 Linux 운영 체제에서 모두 실행됩니다. Docker가 인기 있는 주된 이유는 개발 프로세스에 혁명을 일으켰기 때문입니다. 컨테이너는 매우 오랫동안 존재해 왔지만 Docker가 시작된 이후만큼 유용하지 않았습니다. Docker와 결합된 컨테이너는 불과 몇 년 만에 소프트웨어 산업에 혁명을 일으켰습니다. 이 조합은 거대한 규모의 경제를 만들어 짧은 기간에 유명해졌습니다.



개발자, 초보자 및 전문가에게 Docker는 컨테이너화된 애플리케이션을 구축, 공유 및 공동 작업하기 위한 사실상의 표준이 되었습니다. Docker를 사용하면 개발자가 데스크톱뿐만 아니라 클라우드에서도 협업할 수 있습니다. Docker는 코드를 프로덕션 환경에 매우 간단하고 쉽게 배포할 수 있도록 했습니다.





도커란?

Docker는 개발자의 삶을 단순하고 쉽게 만드는 협업 애플리케이션 개발 플랫폼을 제공합니다. Docker는 개발자가 다른 모든 것보다 혁신에 더 많은 시간을 할애할 수 있는 기회를 제공합니다. 고급 프로그래밍 언어가 시작된 이래로 다양한 운영 체제에서 애플리케이션을 개발, 실행 및 테스트하는 유일한 방법은 모든 운영 체제에 매핑된 여러 전용 물리적 또는 가상 머신을 사용하는 것입니다. 이 방법은 모든 OS 사양 및 소프트웨어에 대해 새로운 시스템을 제공하기 위해 많은 하드웨어 리소스와 오버헤드가 필요합니다.

그러나 2013년 Docker가 출시되면서 이 문제가 해결되었습니다. Docker는 개발자가 여러 시스템에서 코드 또는 애플리케이션을 빌드하고 실행할 수 있도록 돕는 마이크로서비스 아키텍처를 제공합니다. 컨테이너 서비스를 활용하여 개발 워크플로를 빠르고 원활하게 개선합니다. 또한 높은 확장성, 사용자 정의, 이식성 등과 같은 여러 이점이 있습니다. 기존 가상 머신처럼 작동합니다. 그러나 VM에 비해 가볍고 빠른 작업 환경을 제공합니다. 컨테이너화된 격리된 애플리케이션 서비스와 호스트 OS 커널 사이에 있는 계층에서 실행됩니다.



왜 도커인가?

처음에 애플리케이션 개발은 코드 작성에 관한 것이었습니다. 그러나 기술 산업은 진화했고 관행은 꽤 오랫동안 바뀌었습니다. 다양한 프로그래밍 언어, 여러 아키텍처 및 다양한 프레임워크에 대한 이해와 간단한 애플리케이션을 구축하기 위해 수명 주기의 모든 단계에서 도구 간에 지속적이고 안정적인 인터페이스를 만드는 방법에 대한 지식이 필요합니다. 여기에 Docker가 제공되어 작업을 단순화하고 워크플로를 가속화하며 개발자가 각 프로젝트에 대해 선택한 도구, 배포 환경 및 애플리케이션 스택을 사용할 수 있습니다.

Docker는 컨테이너화된 애플리케이션에 대한 산업 표준을 만들었습니다. 개발자는 Docker를 사용하여 격리되고 독립적인 작업 환경을 구축하여 다양한 플랫폼에서 애플리케이션을 시작하고 배포할 수 있습니다. 개발자는 종속성 및 실행 오류에 대해 걱정하지 않고 모든 플랫폼에서 코드를 실행하고 컴파일할 수 있습니다. 빠르고, 다중 플랫폼이며, 종속성이 없고, 사용하기 쉽고, 배포하기 쉽고, 격리되고, 독립적인 작업 플랫폼을 제공하여 개발자의 삶을 변화시켰습니다. 출시 이후 IT 및 기술 개발의 세계에서 필수품이 되었습니다.

도커 명령

Docker 명령의 긴 목록은 Docker 환경에서 작동하는 유용한 내장 기능을 제공합니다. Docker 명령에 대한 이 자세한 자습서는 실행, 빌드, 볼륨, 끌어오기, 시작, 일시 중지 등과 같은 필수 Docker 명령을 다루도록 설계되었습니다. 또한 이 자습서에서는 각 Docker 명령에 대한 예제를 제공하여 더 나은 작업을 수행하는 데 도움이 됩니다. Docker 명령의 작동에 대한 명확한 이해. 더 이상 고민하지 않고 필수 Docker 명령을 빠르게 진행하십시오. 아래 제공된 표를 참조하십시오.

명령 설명
붙이다 실행 중인 컨테이너에 입력 스트림, 출력 스트림 및 오류 스트림을 연결하는 데 사용됩니다.
저지르다 컨테이너에 대한 변경 사항의 새 이미지를 만드는 데 사용됩니다.
장애를 입히다 서비스 비활성화에 사용
편집하다 편집 모드에서 파일을 여는 데 사용
~할 수 있게 하다 서비스 활성화에 사용
간부 실행 중인 컨테이너에서 명령을 실행하는 데 사용됩니다.
그룹 추가 Docker 그룹을 만드는 데 사용됩니다.
설치 파일, 소프트웨어, 저장소 등을 설치하는 데 사용됩니다.
이미지 레지스트리의 모든 이미지를 나열하는 데 사용됩니다.
죽이다 실행 중인 컨테이너를 죽이는 데 사용
로그인 Docker 레지스트리에 로그인하는 데 사용됩니다.
newgrp 그룹에 대한 변경 사항을 활성화하는 데 사용됩니다.
netstat 열려 있는 포트의 상태를 확인하는 데 사용됩니다.
추신 실행 중인 모든 컨테이너를 나열하는 데 사용됩니다.
추신 -a 실행 중인 모든 컨테이너와 중지된 컨테이너를 나열하는 데 사용됩니다.
당기다 Docker 레지스트리에서 저장소 또는 이미지를 추출하는 데 사용됩니다.
정지시키다 컨테이너에서 실행되는 프로세스를 일시 중지하는 데 사용됩니다.
치다 중지된 모든 컨테이너를 삭제하는 데 사용됩니다.
가지치기 -a 모든 이미지, 네트워크, 빌드 캐시 및 중지된 컨테이너를 삭제하는 데 사용됩니다.
운영 명령을 실행하는 데 사용
RM 컨테이너를 제거하는 데 사용
rmi 이미지를 제거하는 데 사용
재장전 시스템 구성을 다시 로드하는 데 사용됩니다.
재시작 컨테이너를 다시 시작하는 데 사용됩니다.
검색 Docker 허브에서 이미지, 파일 또는 저장소를 검색하는 데 사용됩니다.
시작 컨테이너를 시작하는 데 사용
멈추다 실행 중인 컨테이너를 중지하는 데 사용됩니다.
일시 중지 해제 컨테이너에서 실행된 프로세스의 일시 중지를 해제하는 데 사용됩니다.
업데이트 컨테이너 구성을 업데이트하는 데 사용됩니다.
사용자 모드 Docker에 사용자를 추가하는 데 사용됩니다.
버전 Docker 버전을 가져오는 데 사용됩니다.
기다리다 다른 사람이 멈출 때까지 컨테이너를 차단하는 데 사용됩니다.

Ubuntu에 Docker를 설치하는 방법

Docker를 사용하는 추세는 개발자와 DevOps 엔지니어가 애플리케이션 개발에 Docker를 적극적으로 사용하면서 제어할 수 없을 정도로 커지고 있습니다. 또한 크고 작은 조직에서는 Docker 명령에 대한 전문가이거나 Docker 명령을 사용하는 데 몇 년 이상의 전문적인 경험이 있는 사람을 찾고 있습니다. Docker 명령을 사용하려면 가장 먼저 시스템에 Docker를 설치해야 합니다. Docker는 Unix, Linux, Windows 및 macOS를 포함한 모든 시스템에 설치할 수 있습니다. 이 섹션은 Ubuntu에 Docker를 설치하는 방법에 대한 단계별 프로세스로 구성되어 있습니다. Ubuntu 20.04에 Docker를 쉽고 정확하게 설치하기 위한 샘플 예제를 안내해 드립니다.

전제 조건

이 섹션은 Ubuntu 20.04 시스템에 Docker를 설치하는 방법에 대한 연습입니다. 따라가려면 시스템이 모든 전제 조건 요구 사항을 충족하는지 확인해야 합니다.

이 빠르고 흥미로운 자습서를 위해 1GB RAM이 있는 Ubuntu 20.04를 사용합니다. 시스템에는 최소 25GB의 여유 디스크 공간이 있는 3.10 또는 최신 버전의 Linux 커널이 있어야 합니다. 방화벽과 sudo 비루트 사용자도 포함되어야 합니다. 'procps' 또는 git 버전 1.7 이상의 유사한 패키지에 의해 배포되는 실행 가능한 'ps'.

시스템이 이러한 모든 요구 사항을 충족하면 Docker를 설치할 준비가 된 것입니다.

준비

시스템이 Docker 설치에 적합한지 확인한 후 시스템을 준비하여 설치 프로세스를 시작해야 합니다.

가장 먼저 해야 할 일은 모든 이미지를 저장할 폴더를 만드는 것입니다. Docker를 사용할 때 컨테이너를 만들고, 이미지를 만들고, 가지고 놀게 됩니다. 다음 섹션에서 실행할 명령을 통해 빌드된 결과 이미지를 모두 저장할 수 있습니다. 따라서 미리 폴더를 만드십시오. 폴더를 만든 후 기본 작업 디렉터리가 되도록 디렉터리를 새 폴더로 변경합니다. Docker는 기본 디렉토리 위치를 사용하여 모든 이미지와 파일을 직접 다운로드합니다. 마지막으로 시스템은 Ubuntu 20.04에 Docker를 설치할 준비가 되었습니다.

그럼, 설치 과정을 시작하겠습니다!

1단계: 시스템 저장소 업데이트

가장 먼저 가장 중요한 것은 시스템의 모든 저장소를 업데이트하는 것입니다. 이를 위해서는 '업데이트' 명령을 사용해야 합니다. 간단히 설명했듯이 'update' 명령은 파일, 저장소, 구성 등을 업데이트하는 데 사용됩니다. 따라서 'update' 명령을 사용하여 저장소를 업데이트합니다. 다음 '업데이트' 명령의 결과를 확인하십시오.

저장소 업데이트에 성공했습니다. 따라서 시스템은 Docker를 시스템에 설치하는 데 필요한 필수 패키지를 설치할 준비가 되었습니다.

2단계: 필수 패키지 설치

다음 단계는 Docker의 다운로드 및 설치 프로세스를 시작하기 전에 시스템에서 사용할 수 있어야 하는 모든 패키지를 수집하는 것입니다. 'install' 명령은 소프트웨어, 패키지 및 모든 것을 설치합니다. 여기에서 'install' 명령을 실행하여 필요한 패키지를 설치할 수 있습니다.

전체 패키지 목록을 읽은 후 시스템은 패키지 설치 프로세스를 계속할 수 있는 권한을 요청합니다. 'y/Y'를 눌러 설치 프로세스를 완료합니다. 'y' 또는 'Y' 버튼을 누르면 시스템이 'install' 명령으로 지정한 모든 패키지를 다운로드하여 설치합니다.

3단계: GPG 키 추가

다음으로 할 일은 Docker 저장소에 GPG 키를 추가하는 것입니다. 'curl -fsSL | sudo apt-key add' 명령은 GP를 추가하는 데 사용됩니다.

G 키. 'OK' 결과는 GPG 키가 시스템에 성공적으로 추가되었음을 보여줍니다.

4단계: Docker 저장소 추가

GPG 키를 추가한 후 Docker 저장소를 Ubuntu 20.04 시스템에 추가하십시오. 다음 'add-apt-repository' 명령을 사용하여 Ubuntu 시스템에 Docker 저장소를 추가할 수 있습니다.

Ubuntu 시스템의 리포지토리를 다시 업데이트해야 설치되어 있고 지금까지 만들어진 모든 패키지가 리포지토리에서 업데이트됩니다. 동일한 'update' 명령을 사용하여 Ubuntu의 리포지토리를 업데이트합니다.

5단계: 'apt-cache' 실행

apt-cache 명령은 애플리케이션이 Docker 리포지토리에서 설치되도록 합니다. apt-cache 명령의 출력은 아래를 참조하십시오.

6단계: Docker 설치

다음은 주요 단계인 Docker 설치입니다. 터미널에 'sudo apt install docker-ce' 명령을 입력하고 시스템이 Docker를 자동으로 다운로드하여 설치하도록 합니다. 시스템이 Docker 설치를 위한 모든 패키지, 종속성 및 구성을 수집하면 계속하려면 사용자의 권한을 요청합니다. 키보드에서 'y' 또는 'Y'를 누르고 시스템이 설치 프로세스를 완료하도록 합니다.

7단계: 상태 확인

마지막 단계는 시스템에서 Docker의 상태를 확인하는 것입니다. 아래 출력을 참조하십시오.

Docker가 작동 중이고 활발하게 실행 중이며 사용할 준비가 되었습니다. 따라서 설치 프로세스가 완료되었으며 시스템에 Docker가 설치되었습니다. 시스템은 Docker 명령을 테스트하고 실행할 준비가 되었습니다. 따라서 다음 섹션으로 이동하여 몇 가지 인기 있는 Docker 명령을 테스트하고 Docker와 함께 작동하여 개발자와 DevOps 엔지니어의 삶을 쉽고 빠르게 만드는 방법을 알아보겠습니다.

위와 아래의 모든 명령을 실행하기 위해 Ubuntu 20.04를 사용하고 있음을 기억하십시오. 그러나 이후 섹션에서 제공되는 Docker 명령은 모든 Ubuntu 버전(예: 18.04, 20.04 등)에서 실행할 수 있으며 모든 Linux 플랫폼에서 실행할 수 있습니다. 시스템이 전제 조건의 모든 요구 사항을 충족하고 시스템이 Docker 명령을 실행하고 테스트할 수 있도록 Docker로 완전히 준비되었는지 확인하십시오. 샘플 예제와 함께 모든 주요 Docker 명령을 자세히 살펴보겠습니다.

명령 # 1: 도커 검색

Docker 검색 명령은 이미지, 리포지토리 및 Docker 허브의 모든 항목을 검색합니다. search 명령은 Docker 허브에서 필요한 데이터를 찾아 찾은 경우 사용자에게 반환합니다. Docker 허브는 이미지를 가져오는 데 사용되는 공식 Docker 라이브러리입니다. 모든 Docker 사용자가 이미지를 보관하는 온라인 중앙 저장소입니다. Docker 사용자는 Docker 이미지를 생성, 실행, 테스트 및 저장하기 위해 디렉터리를 생성할 수도 있습니다. Docker 허브는 이제 수십만 개의 Docker 이미지로 구성되어 있으며, 매일 빠르게 증가하고 있습니다.

'docker search' 명령을 사용하여 Alpine Linux 기반의 Docker 이미지를 검색해 보겠습니다. 명령줄 인터페이스에서 'sudo docker search alpine' 명령을 실행하여 Docker 허브에서 알파인 기반 이미지를 찾습니다.

예를 들어 Ubuntu 기반 Docker 허브에서 이미지를 검색해야 합니다. 동일한 '검색' 명령을 사용하여 찾으십시오. 이미지 유형을 'ubuntu'로 지정하기만 하면 됩니다. 아래 주어진 'search ubuntu'의 명령 및 출력을 참조하십시오.

'docker 명령'은 다른 운영 체제를 기반으로 이미지를 검색하지 않습니다. 또한 애플리케이션의 Docker 이미지를 검색할 수도 있습니다. 예를 들어 'Nginx' 애플리케이션에 대한 Docker 이미지를 찾아야 합니다. '검색' 명령과 함께 응용 프로그램 유형을 제공하기만 하면 됩니다. '검색' 명령을 사용하여 'Nginx' 종류의 응용 프로그램에 대한 이미지를 가져오는 방법은 다음과 같습니다.

Docker 허브에는 다양한 유형의 이미지가 있습니다. Docker 사용자는 기본 이미지와 완전히 사용자 정의된 Docker 이미지를 사용하여 이미지를 구축하고 있습니다. 그것들은 모두 다른 유형이며 다른 운영 체제 또는 응용 프로그램을 기반으로 합니다. 일부는 운영 체제 이미지이고 일부는 애플리케이션 이미지이며 일부는 다른 애플리케이션의 조합입니다. Docker를 처음 사용하고 사전 빌드 이미지를 찾고 있는 경우 Docker 허브를 살펴보기만 하면 됩니다. 거의 모든 상황에 대해 Docker 허브에서 기본 이미지를 찾을 수 있습니다. 시나리오에 적합한 이미지를 찾지 못했다고 가정합니다. 유사한 상황을 처리하는 다른 Docker 사용자가 빌드된 이미지를 사용할 수 있도록 사용자 정의 빌드하고 Docker 허브에서 공개적으로 공유할 수 있습니다.

명령 # 2: 도커 풀

'pull' 명령을 사용하여 Ubuntu 20.04 운영 체제의 이미지를 다운로드하기만 하면 됩니다. 터미널에서 'sudo docker pull ubuntu' 명령을 실행하고 Docker 허브에서 최신 Ubuntu 이미지를 다운로드합니다. 다음 샘플 출력을 살펴보십시오.

'docker pull' 명령을 사용하면 Docker 사용자가 특정 버전의 우분투 이미지를 다운로드할 수 있습니다. Ubuntu 버전은 'pull' 명령을 사용하므로 해당 특정 버전의 이미지만 다운로드됩니다. 아래에 제공된 특정 버전의 'pull' 명령 구문을 참조하십시오.

호스트 운영 체제에 관계없이 모든 종류의 이미지에 'pull' 명령을 사용하면 Docker 허브에서 쉽게 다운로드할 수 있습니다. 'search' 명령과 마찬가지로 'pull' 명령으로 이미지 유형을 지정하면 됩니다. 예를 들어 'alpine' 운영 체제를 기반으로 이미지를 다운로드해야 하는 경우 'pull' 명령으로 'alpine'을 지정하기만 하면 됩니다. 더 명확하고 더 나은 이해를 위해 아래에 제공된 샘플 출력과 함께 실행된 명령을 참조하십시오.

명령 # 3: 도커 이미지

'docker images' 명령은 Docker 디렉토리에 있는 모든 이미지를 나열합니다. Docker 이미지가 다운로드되면 /var/lib/docker/ 기본 디렉토리에 저장됩니다. 다운로드한 모든 이미지를 보려면 터미널에서 'sudo docker images' 명령을 실행하기만 하면 다운로드한 모든 Docker 이미지가 표시됩니다. 다음은 기본 폴더에 다운로드되는 샘플 이미지 목록입니다.

3개의 Docker 이미지가 'images' 명령, 'alpine latest', 'ubuntu latest' 및 'ubuntu 20.04'로 나열됩니다. 각 이미지에는 'TAG'와 'ID'가 있습니다. 'latest', 'latest', '20.04'는 태그이고 '9c6f07244728', 'df5de72bdb3b', '3bc6e9f30f51'은 각 이미지의 ID입니다.

명령 # 4: 도커 실행

'docker run' 명령은 다운로드한 이미지를 기반으로 컨테이너를 시작합니다. Docker 컨테이너는 두 가지 다른 방법으로 시작할 수 있습니다. '이미지 ID'를 사용해야 하거나 '이미지 태그'를 사용해야 합니다. '이미지 ID'는 이름에서 알 수 있듯이 이미지의 실제 ID를 나타냅니다. 한편, '이미지 TAG'는 특정 이미지의 스냅샷을 의미한다. 'docker images' 명령을 사용하면 다운로드한 모든 이미지가 각각의 ID 및 TAG와 함께 나열됩니다. TAG 또는 이미지의 ID를 사용하여 Docker를 시작할 수 있습니다. Docker 컨테이너를 시작하는 데 사용되며 아래에 주어진 TAG로 연결된 '실행' 명령의 구문을 참조하십시오.

'sudo docker run'은 'run' Docker 명령의 일반 구문입니다. '-t' 요소는 Ubuntu 컨테이너에 새로운 의사 터미널을 할당하는 데 사용됩니다. '-i' 요소는 대화형 연결을 만들기 위해 컨테이너의 표준 STDIN을 가져오는 데 사용됩니다. 'ubuntu : latest'는 Ubuntu 이미지의 'latest' 태그를 지정하는 키:값 쌍입니다. '/bin/bash'는 컨테이너의 새로운 'Bash' 셸입니다. 이것은 선택적 매개변수입니다. 제공하지 않으면 기본 셸이 컨테이너에 제공됩니다. 'run' 명령을 실행하면 이전 출력에서와 같이 자동으로 컨테이너 셸에 들어갑니다. 이미지에서 볼 수 있듯이 id 6e56bee8d3d7의 최신 Ubuntu 이미지를 기반으로 하는 새 컨테이너가 성공적으로 시작되었습니다. 각각의 새 컨테이너에는 이름과 ID로 쉽게 찾을 수 있도록 새 이름과 ID가 할당됩니다.

'run' 명령의 다른 방법 또는 약간 다른 구문은 다음과 같습니다.

컨테이너에서 작업을 마치면 시스템을 종료하지 않고 시스템의 호스트 터미널로 쉽게 돌아갈 수 있습니다.

마지막 두 그림에서는 이미지의 TAG를 사용하여 새 컨테이너를 시작했습니다. 이미지 ID를 사용하여 새 컨테이너를 시작할 수도 있습니다. '-it' 매개변수와 함께 특정 이미지 ID를 제공하기만 하면 '실행' 명령이 새 컨테이너를 시작하고 이미지 ID를 사용하여 연결합니다. 여기에서 다음 실행 명령으로 이미지 ID를 제공할 수 있습니다.

컨테이너에서 작업을 마치면 호스트 터미널로 돌아가야 합니다. 그러나 아직 컨테이너를 종료하고 싶지 않으므로 간단히 분리할 수 있습니다. 그렇게 하려면 'CTRL+P' 및 'CTRL+Q'를 누릅니다. 이 두 명령은 컨테이너가 종료되지 않고 백그라운드에서 계속 실행되는 동안 시스템의 원래 호스트 터미널로 돌아갑니다. 'CTRL+P' 및 'CTRL+Q'는 컨테이너를 분리할 뿐 컨테이너를 중지하거나 종료하지는 않습니다. 컨테이너는 특별히 중지할 때까지 백그라운드에서 계속 실행됩니다.

이제 분리된 모드에서 컨테이너를 실행해 보겠습니다. 컨테이너에 자동으로 연결하지 않고 백그라운드에서 컨테이너를 실행하거나 간단히 말해서 컨테이너를 분리 모드에서 실행하려면 run 명령과 함께 '-d' 매개변수를 지정합니다. 터미널에서 'run -it -d' 명령을 실행하면 백그라운드에서 분리된 컨테이너를 시작하게 됩니다.

컨테이너 ID는 출력의 처음 12자, 즉 '1363cb33560c'입니다. 이것은 'ps' 명령으로 확인할 수 있습니다.

명령 # 5: Docker ps

'docker ps' 명령은 현재 실행 중인 모든 컨테이너를 나열하는 데 사용됩니다. 터미널에서 'sudo docker ps' 명령을 실행하면 다음 출력과 같이 실행 중인 모든 컨테이너가 터미널에 표시됩니다.

여기서 목록의 첫 번째 컨테이너의 ID가 '1363cb33560c'임을 확인할 수 있으며 이는 이전 섹션에서 지정한 12글자와 동일합니다. 게다가, 그것은 '알파인' 컨테이너이고 우리는 아직 그것을 붙이지 않았습니다. 이 컨테이너에 구체적으로 연결하려면 'attach' 명령을 사용합니다.

명령 # 6: Docker 연결

'docker attach' 명령은 컨테이너에 연결하는 데 사용됩니다. 특정 컨테이너에 연결하려면 'attach' 명령에 컨테이너 ID를 제공하기만 하면 됩니다. 그러면 완료됩니다.

현재 실행 중인 모든 컨테이너의 새 목록을 보려면 'ps' 명령을 다시 실행합니다.

중지되었거나 실행 중인 모든 컨테이너를 표시하려면 'ps' 명령에 '-a'를 추가하기만 하면 됩니다.

명령 # 7: 도커 시작

'docker start' 명령은 ID 또는 이름을 제공하여 특정 컨테이너를 시작합니다. 컨테이너의 이름과 ID를 가져오기 위해 'ps -a' 명령을 실행하여 실행 중이거나 중지된 모든 컨테이너를 표시합니다.

이제 모든 컨테이너의 전체 목록이 있으므로 'start' 명령과 함께 컨테이너의 이름이나 ID를 사용하여 컨테이너를 시작할 수 있습니다. 'beautiful_keller' 컨테이너를 시작하겠습니다. 'beautiful_keller'는 컨테이너 이름입니다.

컨테이너 ID를 제공하여 컨테이너를 시작하려는 경우에도 수행할 수 있습니다. '1363cb33560c'는 컨테이너 ID입니다.

명령 # 8: Docker 일시 중지

'docker pause' 명령은 현재 실행 중인 컨테이너를 일시 중지하는 데 사용됩니다. 'start' 명령의 동일한 구문 및 프로세스 다음에 'start' 명령을 'pause' 명령으로 교체해야 합니다. 특정 컨테이너 ID를 '일시 중지' 명령과 함께 제공하여 해당 컨테이너를 구체적으로 일시 중지합니다.

명령 # 9: Docker 일시 중지 해제

'docker unpause' 명령은 일시 중지된 모든 컨테이너의 일시 중지를 해제하는 데 사용됩니다. '1363cb33560c'는 이전 섹션에서 일시 중지되었습니다. 컨테이너 ID로 'unpause' 명령을 실행하여 일시 중지를 해제할 수 있습니다.

명령 # 10: Docker 대기

'docker wait' 명령은 다른 모든 컨테이너가 중지될 때까지 특정 컨테이너를 차단하는 데 사용됩니다. 예를 들어 '1363cb33560c' 컨테이너를 차단해야 하므로 'wait 1363cb33560c' 명령만 실행하면 다른 컨테이너가 작동을 멈출 때까지 컨테이너가 차단됩니다.

명령 # 11: Docker 중지

'docker stop' 명령은 컨테이너를 의도적으로 중지하는 데 사용됩니다. stop 명령과 함께 컨테이너의 이름이나 ID를 사용하여 중지하면 됩니다.

이제 'ps' 명령을 실행하여 모든 활성 및 작업 컨테이너를 나열합니다.

보시다시피 '1363cb33560c'는 목록에 없으므로 중지되었습니다.

명령 # 12: Docker kill

'docker kill' 명령은 컨테이너를 강제로 종료하거나 중지하는 데 사용됩니다. 'stop' 및 'kill' 명령은 유사한 기능을 합니다. 그러나 유일한 차이점은 컨테이너가 'stop' 명령을 사용하여 중지하지 않거나 중지할 수 없는 경우 'kill' 명령을 사용하여 강제로 종료할 수 있다는 것입니다.

'실행' 명령은 컨테이너를 실행하는 데만 사용되는 것이 아니라 다른 기능도 수행할 수 있습니다. 'run' 명령과 함께 사용되는 플래그는 실행 명령의 실제 기능을 지정합니다. 예를 들어 컨테이너에서 작업을 마친 직후 자동으로 컨테이너를 삭제해야 합니다. '-rm' 플래그와 함께 '실행' 명령을 사용하여 해당 목적을 달성할 수 있습니다. 다음 'run -it –rm' 명령 실행을 참조하십시오.

이제 'ebian : 최신' 컨테이너를 종료하면 자동으로 삭제됩니다.

'실행' 명령으로 수행할 수 있는 다른 기능은 이름을 지정하는 것입니다. 이전의 모든 예에서 각 컨테이너에는 임의의 이름이 있습니다. 컨테이너에 이름을 특별히 지정하지 않으면 Docker가 임의의 이름을 지정합니다. 아래 주어진 예를 참조하십시오.

'docker run' 명령을 사용하여 'abee1e670212' 및 '5db158bacfa5'라는 두 개의 컨테이너가 생성됩니다. 두 컨테이너 모두 동일한 Docker 이미지를 사용하여 생성되지만 각각 다른 이미지 ID를 할당했습니다. 이제 'ps' 명령으로 실행 중인 모든 컨테이너를 나열합니다.

컨테이너에 사용자 지정 또는 개인화된 이름을 설정하려면 다음 명령을 실행하기만 하면 됩니다.

이 명령을 실행하면 'ostechnix_alpine'이라는 새 컨테이너가 생성됩니다. 'ps' 명령을 사용하여 활성 컨테이너의 새 목록을 다시 표시해 보겠습니다.

목록의 첫 번째 컨테이너에는 컨테이너 이름으로 특별히 제공한 'ostechnix_alpine'이라는 이름이 있습니다.

이제 동일한 '실행' 명령을 사용하여 맞춤형 Docker 이미지를 생성해 보겠습니다. 먼저 'Ubuntu' 컨테이너를 시작합니다.

터미널은 컨트롤이 컨테이너의 셸에 있음을 나타냅니다. 이제 소프트웨어 다운로드, 파일 업데이트 등과 같은 모든 기능을 수행할 수 있습니다.

이제 'apache2' 웹 서버를 설치해 보겠습니다. 먼저 컨테이너에 어떤 것을 다운로드하거나 설치하기 전에 필요한 모든 패키지를 사용할 수 있도록 시스템을 업데이트하십시오.

명령 # 13: 'apt update'

'apt update' 명령은 시스템 구성을 업데이트하는 데 사용됩니다.

시스템이 업데이트되면 'apt install apache2' 명령을 사용하여 컨테이너에 apache2를 설치합니다.

명령 # 14: 'apt 설치'

'apt install' 명령은 패키지, 서버, 소프트웨어, 응용 프로그램 등을 설치하는 것입니다.

설치 프로세스가 완료되면 컨테이너에서 분리하고 CTRL+P와 CTRL+Q를 차례로 눌러 시스템의 호스트 셸로 돌아갑니다.

호스트 셸로 돌아간 후 'ps' 명령으로 컨테이너 ID를 다시 찾습니다. 컨테이너 ID를 사용하여 'commit'으로 새 이미지를 빌드합니다.

명령 # 15: 도커 커밋

'docker commit' 명령은 지금까지 컨테이너에 적용된 모든 변경 사항의 새 이미지를 빌드합니다. 컨테이너에 대한 모든 변경 사항의 새 사용자 지정 이미지를 만듭니다.

'images' 명령으로 모든 이미지를 나열하여 새 이미지가 생성되었는지 여부를 확인합니다.

'ostechnix_alpine'이라는 새 Docker 이미지가 호스트 시스템에 추가되었습니다. 이제 'run -it' 명령을 사용하여 새로 생성된 이미지로 새 컨테이너를 생성할 수 있습니다.

'stop' 명령을 사용하여 컨테이너를 중지하고 컨테이너 ID를 제공한 후 삭제합니다.

명령 # 16: Docker rm

'docker rm' 명령은 저장소에서 컨테이너를 제거합니다. 'rm' 명령을 실행하고 삭제할 컨테이너 ID를 지정하여 컨테이너를 삭제합니다. 'rm' 명령은 중지된 컨테이너 하나만 삭제합니다. 중지된 컨테이너가 많고 한 번에 모두 제거해야 하는 경우 어떻게 하시겠습니까?

각 컨테이너를 하나씩 삭제하는 것은 지루한 작업입니다. 따라서 다른 Docker 명령을 사용할 수 있습니다.

명령 # 17: Docker 정리

'docker prune' 명령은 중지된 모든 컨테이너를 삭제합니다. 'sudo docker container prune' 명령을 실행하고 중지된 모든 컨테이너를 한 번에 제거하기만 하면 됩니다.

명령 # 18: Docker rmi

'docker rmi' 명령은 Docker 이미지를 삭제하는 데 사용됩니다. 특정 이미지 ID로 'rmi' 명령을 실행하면 'rmi'가 해당 이미지를 디렉토리에서 제거합니다.

명령 # 19: Docker prune -a

'docker prune -a' 명령은 모든 네트워크를 제거하고 캐시, 이미지 및 중지된 컨테이너를 빌드합니다. 'sudo docker system prune -a' 명령을 실행하면 저장소에서 모든 것이 삭제됩니다.

이 명령은 모든 이미지, 네트워크, 사용하지 않거나 중지된 컨테이너를 삭제하므로 매우 주의해야 합니다.

또한 버전을 포함하는 모든 항목을 삭제하려면 prune -a 명령과 함께 –volume 플래그를 사용합니다.

명령 # 20: Docker – 버전

'docker version' 명령은 현재 Docker 버전을 반환합니다. 현재 설치된 Docker 버전을 보려면 'sudo docker –version'을 실행하기만 하면 현재 버전의 Docker가 반환됩니다.

명령 # 21: Docker 실행

'docker exec' 명령은 실행 중인 컨테이너로 이동합니다. 특정 컨테이너에 액세스하려면 exec 명령에 컨테이너 ID를 제공하기만 하면 해당 컨테이너로 이동합니다.

명령어 # 22: 도커 로그인

'docker 로그인' 명령을 사용하면 Docker 허브 저장소에 로그인할 수 있습니다. 'sudo docker login' 명령을 실행하고 로그인 자격 증명을 제공하고 Docker 허브 저장소로 이동하기만 하면 됩니다.

Linux 설치 후 프로세스를 위한 Docker 명령

우리는 예제와 함께 가장 일반적이고 필수적인 Docker 명령을 보았습니다. 이 섹션에서는 Linux 호스트를 구성하는 데 사용되는 명령을 제공합니다. 이러한 명령은 주로 Linux의 설치 후 프로세스에서 사용됩니다.



명령 #1: Docker 그룹 추가

'docker groupadd' 명령은 Docker 그룹을 생성하는 데 사용됩니다. 'sudo groupadd docker'를 실행하면 저장소에 새로운 Docker 그룹이 생성됩니다.







명령 # 2: Docker usermod

'docker usermod' 명령은 Docker 사용자를 Docker에 추가하는 데 사용됩니다. usermod 명령에 '$USER' 사용자 이름을 지정하고 Docker에 추가합니다.





명령 # 3: Docker newgrp

'docker newgrp' 명령은 그룹에 대한 변경 사항을 활성화하는 데 사용됩니다. 지금까지 그룹에 적용된 변경 사항을 활성화해야 하는 경우 'newgrp' 명령을 사용할 수 있습니다.





명령 # 4: systemctl enable

'systemctl enable' 명령은 시스템 부팅 시 활성화해야 하는 서비스를 관리합니다. 다음 명령을 사용하여 부팅 시 컨테이너와 Docker를 자동으로 시작합니다.



명령이 성공적으로 실행되면 시스템이 부팅될 때 docker.service가 활성화됩니다.

마찬가지로 이 명령이 성공적으로 실행되면 시스템이 부팅될 때 containerd.service가 활성화됩니다.

명령 # 5: systemctl 비활성화

일부 서비스를 비활성화해야 할 때 'disable' 명령이 구출됩니다. 'systemctl disable' 명령은 시스템이 부팅될 때 서비스를 비활성화하는 데 사용됩니다. containerd 서비스를 비활성화하려면 다음 명령을 실행하기만 하면 됩니다.

명령 # 6: systemctl 편집

'edit' 명령은 파일을 편집 모드에서 엽니다. 즉, 파일을 실시간으로 편집할 수 있습니다. 'edit' 명령을 사용하여 줄을 추가 또는 제거하거나 줄을 수정할 수 있습니다.

값을 대체하여 행을 무시할 수 있습니다.

명령 # 7: systemctl 데몬 다시 로드

'reload' 명령은 구성을 다시 로드합니다. 'sudo systemctl daemon.reload'는 systemctl의 구성을 다시 로드합니다.

명령 # 8: systemctl restart daemon.service

'restart' 명령은 Docker 서비스를 다시 시작하는 데 사용됩니다. 'sudo systemctl restart daemon,service' 명령을 실행하면 Docker 서비스가 자동으로 다시 시작됩니다.

명령 # 9: Docker netstat

'netstat'는 지금까지 변경된 사항을 확인하는 데 사용됩니다. 변경 사항이 적용되었는지 여부를 확인해야 하는 경우 'netstat' 명령을 사용합니다. 구체적으로 어떤 포트가 열려 있고 Docker가 이를 수신 중인지 알려줍니다.

결론

이 시점에서 Docker와 함께 사용되는 모든 명령을 잘 알고 있습니다. Docker 환경에서 Docker 명령을 실행하는 것은 다른 시스템에서 명령을 실행하는 것만큼 간단합니다. 모든 예제를 따라하고 각 명령을 하나씩 실행했다고 가정하면 이제 Docker 컨테이너와 이미지를 쉽게 사용할 수 있습니다. 작업을 테스트하고 저장하려는 경우 예제를 복제하고 Docker 허브에 새 Docker 이미지로 저장할 수 있습니다.