도커는 개발자와 시스템 관리자가 컨테이너를 사용하여 응용 프로그램을 구축, 실행 및 공유하는 데 가장 인기 있는 오픈 소스 플랫폼입니다. 컨테이너화(응용 프로그램을 배포하기 위해 컨테이너를 사용하는 것)는 컨테이너가 유연하고 가벼우며 이동성이 있으며 느슨하게 결합되어 확장 가능하며 보안성이 높기 때문에 인기를 얻고 있습니다.
이 기사는 초보자들이 몇 가지 기본 명령어로 도커를 Ubuntu 20.04 Linux 시스템에 설치하고 사용하는 방법을 배우는 좋은 시작점입니다. 이 안내서에서는 도커 커뮤니티 에디션 (CE)를 설치할 것입니다.
전제 조건:
Ubuntu 20.04에 도커 설치
도커의 최신 버전을 사용하려면 공식 도커 저장소에서 설치할 것입니다. 따라서 다음 명령어를 사용하여 공식 도커 저장소의 GPG 키를 시스템에 추가한 후 저장소 구성을 APT 소스에 추가하세요.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
이제 다음 명령어를 사용하여 새로운 도커 패키지를 시스템에 포함시키기 위해 APT 패키지 캐시를 업데이트하세요.
$ sudo apt update
다음으로 아래와 같이 도커 패키지를 설치하세요.
$ sudo apt install docker-ce

도커 패키지 설치 과정 중에 패키지 설치 프로그램은 systemd(시스템 및 서비스 관리자)를 트리거하여 도커 서비스를 자동으로 시작하고 활성화합니다. 다음 명령어를 사용하여 도커 서비스가 활성화되어 있고 시스템 부팅 시 자동으로 시작되도록 확인하세요. 또한 상태를 확인하세요:
$ sudo systemctl is-active docker $ sudo systemctl is-enabled docker $ sudo systemctl status docker

시스템컨트롤 명령어를 관리하고 도커 서비스를 제어하기 위한 여러 systemctl 명령어가 있습니다. 이 명령어에는 다음이 포함됩니다:
$ sudo systemctl stop docker #stop the docker service $ sudo systemctl start docker #start the docker service $ sudo systemctl restart docker #restart the docker service
시스템에 설치된 Docker CE 버전을 확인하려면 다음 명령을 실행하십시오:
$ docker version

옵션 또는 인수없이 도커 명령을 실행하여 사용 가능한 도커 사용 명령을 볼 수 있습니다:
$ docker

sudo 명령을 사용하여 루트가 아닌 사용자로서 도커를 관리합니다.
기본적으로 Docker 데몬은 루트 사용자가 소유한 UNIX 소켓( TCP 포트 대신)에 바인딩됩니다. 따라서 Docker 데몬은 항상 루트 사용자로 실행되며 도커 명령을 실행하려면 sudo를 사용해야 합니다.
또한 Docker 패키지 설치 중에 docker
이라는 그룹이 생성됩니다. Docker 데몬이 시작되면 docker 그룹의 구성원이 액세스할 수 있는 UNIX 소켓이 생성됩니다(루트 사용자와 동등한 권한을 부여함).
docker 명령을 sudo 없이 실행하려면 다음과 같이 docker 그룹에 액세스해야 할 모든 루트가 아닌 사용자를 추가하십시오. 이 예에서 명령은 현재 로그인한 사용자 ($USER)
또는 사용자 이름을 docker 그룹에 추가합니다:
$ sudo usermod -aG docker $USER OR $ sudo usermod -aG docker username
그룹에 대한 변경 사항을 활성화하려면 다음 명령을 실행하십시오:
$ newgrp docker $ groups

다음과 같은 명령을 사용하여 도커 명령을 실행할 때 sudo 없이 실행할 수 있는지 확인하세요. 이 명령은 테스트 이미지를 다운로드하고 컨테이너에서 실행합니다. 컨테이너가 실행되면 정보 메시지를 출력하고 종료됩니다. 이것은 설치가 잘 되었는지를 확인하는 또 다른 방법입니다.
$ docker run hello-world

도커 이미지 작업
A Docker image is a read-only template file with instructions for creating a Docker container. You can either create your custom images or you can only use those created by others and published in the Docker Hub, the world’s largest library and community for container images.
다음 명령을 사용하여 Docker Hub에서 centos
이미지를 검색할 수 있습니다.
$ docker search centos

로컬로 이미지를 다운로드하려면 pull 명령을 사용하십시오. 다음 예제는 공식 centos 이미지를 다운로드하는 방법을 보여줍니다.
$ docker pull centos

다운로드가 완료되면 로컬 시스템에서 사용 가능한 이미지 목록을 볼 수 있습니다.
$ docker images

더 이상 이미지가 필요하지 않은 경우 시스템에서 제거할 수 있습니다.
$ docker rmi centos OR $ docker rmi centos:latest #where latest is the tag
도커 컨테이너 실행 및 관리
A Docker container is a process that runs natively on Linux and shares the kernel of the host machine with other containers. Concerning a Docker image, a container is just a running image.
새 centos
이미지를 기반으로 컨테이너를 시작하려면 다음 명령을 실행하십시오. 여기서 “centos”
는 로컬 이미지 이름이고 “cat /etc/centos-release”는 컨테이너에서 실행할 명령입니다.
$ docker run centos cat /etc/centos-release

A container runs a discrete process that is isolated in that it has its own: file system, networking, and isolated process tree separate from the host. Note that you can manipulate a container using the container’s ID, ID-prefix, or name as shown below. The above container process exits after the command runs.
도커 컨테이너를 나열하려면 다음과 같이 docker ps 명령을 사용하십시오. 최신 생성된 컨테이너를 모든 상태에서 보려면 -l
플래그를 사용하십시오.
$ docker ps OR $ docker ps -l

종료된 컨테이너를 포함하여 모든 컨테이너를 표시하려면 -a
플래그를 사용하십시오.
$ docker ps -a

종료된 후 컨테이너 ID를 사용하여 컨테이너를 시작할 수도 있습니다. 예를 들어, 이전 명령에서 우리의 컨테이너 ID는 94c35e616b91입니다. 다음과 같이 컨테이너를 시작할 수 있습니다 (명령을 실행한 후 종료됩니다).
$ docker start 94c35e616b91

실행 중인 컨테이너를 ID를 사용하여 중지하려면 다음과 같이 stop 명령을 사용하십시오.
$ docker stop 94c35e616b91
Docker는 컨테이너를 실행할 때 --name
옵션을 사용하여 컨테이너에 이름을 할당할 수도 있습니다.
$ docker run --name my_test centos cat /etc/centos-release $ docker ps -l

이제 컨테이너 이름을 사용하여 컨테이너를 관리할 수 있습니다(시작, 중지, 상태, 제거 등):
$ docker stop my_test $ docker start my_test $ docker stats my_test $ docker rm my_test
도커 컨테이너 내부에서 대화형 세션 시작
컨테이너 내에서 명령을 실행할 수 있는 대화형 셸 세션을 시작하려면 다음 명령을 실행하십시오:
$ docker run --name my_test -it centos

위 명령에서 -it
스위치는 도커가 컨테이너의 stdin에 연결된 의사-TTY를 할당하도록 지시하여 컨테이너 내에서 대화형 bash 셸을 생성합니다.
위와 같이 exit 명령을 사용하여 나갈 수 있습니다.
# exit
나가지 않으려면 컨테이너에서 분리하여 실행을 유지할 수 있습니다. 이를 위해 CTRL+p
그리고 CTRL+q
키 순서를 사용하십시오.

실행 중인 컨테이너에 로컬 표준 입력, 출력 및 오류 스트림을 연결하는 attach 명령을 사용하여 컨테이너에 다시 연결할 수 있습니다:
$ docker attach my_test
게다가, -d
플래그를 사용하여 분리된 모드에서 컨테이너를 시작할 수도 있습니다. 그런 다음 attach 명령을 사용하여 터미널의 표준 입력, 출력 및 오류 스트림을 실행 중인 컨테이너에 연결할 수 있습니다:
$ docker run --name my_test -d -it centos $ docker attach my_test

마지막으로, 호스트 세션에서 다음 명령을 실행하여 실행 중인 컨테이너를 중지할 수 있습니다:
$ docker kill my_test
그게 다에요! 이 가이드에서는 Docker CE를 Ubuntu 20.04 Linux에 설치하고 사용하는 방법을 다루었습니다. 궁금한 점이 있으시면 아래 피드백 양식을 사용하여 문의해주세요.