Docker: Ubuntu 18.04 LTS에서 설치 및 기본 사용
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- Ubuntu 18.04(Bionic Beaver)
- Ubuntu 15.04(Vivid Vervet)
이 페이지에서
- Docker에 대해 알아야 할 사항\n
- 도커 이미지
- 도커 컨테이너
- 도커 레지스트리
- Ubuntu 저장소에서 Docker 설치
- Docker 저장소에서 Docker 설치
Docker는 개발자와 시스템 관리자가 어디에서나 경량 컨테이너로 애플리케이션을 빌드, 패키징 및 실행할 수 있는 개방형 플랫폼을 제공하는 오픈 소스 프로젝트입니다. Docker는 소프트웨어 컨테이너 내부의 애플리케이션 배포를 자동화합니다. Docker 개발은 기업용 PaaS(Platform as a Service)인 dotCloud의 내부 프로젝트로 Solomon Hykes에 의해 시작되었지만 현재 소프트웨어는 docker 커뮤니티와 Docker Inc.에서 관리하고 있습니다. Docker에 대한 자세한 내용은 https: 문서에서 확인할 수 있습니다. //docs.docker.com/.
Docker를 설치하려면 64비트 아키텍처가 필요하며 Linux 커널은 3.10 이상이어야 합니다. 여기서는 우분투 리눅스를 사용하겠습니다.
도커에 대해 알아야 할 사항
다음은 도커 세계에서 알아야 할 기본 용어입니다.
도커 이미지
Docker 이미지는 Docker 컨테이너의 기본 템플릿입니다. 이미지에는 일반적으로 쉽게 설치할 수 있는 OS 및 애플리케이션이 포함됩니다. Docker 이미지는 컨테이너를 실행하는 데 사용되며, Docker 허브 Dockerfile에 설치된 다양한 운영 체제 및 소프트웨어와 함께 많은 이미지를 찾을 수 있습니다.
도커 컨테이너
Docker 컨테이너는 Docker 이미지 위에서 실행되는 읽고 쓸 수 있는 이미지입니다. Docker는 통합 파일 시스템을 컨테이너의 백엔드로 사용하고 있습니다. 컨테이너에서 이루어진 모든 변경 사항은 기본 이미지 위의 새 레이어에 저장됩니다. 컨테이너는 애플리케이션을 설치하는 계층입니다. 각 컨테이너는 호스트 시스템에서 격리되어 실행되므로 안전한 애플리케이션 플랫폼을 제공합니다.
도커 레지스트리
Docker 레지스트리는 Docker 이미지의 저장소입니다. 공용 및 개인 저장소를 제공합니다. 공용 Docker 레지스트리를 Docker 허브라고 합니다. 여기서 우리는 우리 자신의 이미지를 밀고 당길 수 있습니다.
우분투 18.04에 도커 설치
이 섹션에서는 docker를 설치하는 방법을 안내합니다. 소프트웨어를 설치하기 전에 커널 버전과 OS 아키텍처를 확인하십시오. 다음 명령은 루트 사용자로 실행해야 합니다. 이 명령을 실행하여 Ubuntu 시스템의 루트가 되십시오.
sudo su
그런 다음 uname -a를 실행하여 현재 실행 중인 Linux 커널의 버전을 확인합니다.
uname -a
64비트 커널(x86_64)과 함께 커널 버전 4.15.0을 사용하고 있음을 알 수 있습니다.
Ubuntu 버전을 확인하려면 다음을 실행하십시오.
cat /etc/lsb-release
이 명령은 Ubuntu 버전이 18.04임을 보여줍니다.
새 소프트웨어를 설치하기 전에 Ubuntu를 업데이트하는 것이 좋습니다. 다음 명령을 실행하여 Ubuntu 리포지토리에서 최신 업데이트를 가져와 설치합니다.
sudo apt-get update
sudo apt-get upgrade이제 Docker를 서버에 설치할 준비가 되었습니다.
Docker를 설치하려면 Ubuntu 리포지토리의 패키지를 사용하거나 Docker 리포지토리의 패키지를 사용할 수 있습니다.
Ubuntu 리포지토리에서 Docker 설치
Ubuntu 리포지토리에서 도커 버전을 설치하려면 아래 apt 명령을 실행할 수 있습니다.
sudo apt install docker.io
설치가 완료될 때까지 기다린 다음 Docker를 시작하고 systemctl 명령을 사용하여 부팅 시간에 추가할 수 있습니다.
systemctl start docker
systemctl enable docker도커 버전을 확인할 수도 있습니다.
docker --version
그리고 Ubuntu Repository에서 docker 17.12를 설치하게 됩니다.
Docker 저장소에서 Docker 설치
Docker 리포지토리에서 docker-ce를 설치하기 전에 아래와 같이 apt 명령을 사용하여 일부 종속성을 설치합니다.
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common설치가 완료되면 docker key와 docker nightly 리포지토리를 추가합니다.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic nightly" > /etc/apt/sources.list.d/docker-nightly.list저장소를 업데이트합니다.
sudo apt update
이제 도커 저장소가 시스템에 추가되었습니다.
apt-cache 명령을 사용하여 도커 저장소에서 제공하는 모든 도커 패키지를 확인합니다.
sudo apt search docker-ce
sudo apt-cache policy docker-ce그리고 아래와 같이 다른 도커 버전을 볼 수 있습니다.
아래의 apt 명령을 사용하여 설치하십시오.
sudo apt install docker-ce
설치가 완료되면 docker 서비스를 시작하고 시스템 부팅 시마다 실행되도록 활성화합니다.
systemctl start docker
systemctl enable docker이제 시스템에 설치된 도커 버전을 확인하십시오.
docker --version
그러면 시스템에 docker 18.x가 설치됩니다. 이제 Docker 레지스트리에서 Docker 이미지를 다운로드하여 컨테이너 만들기를 시작할 수 있습니다.
루트가 아닌 사용자로 Docker 실행
도커를 일반/비루트 사용자로 실행하려면 새 시스템 사용자를 추가해야 합니다. hakase라는 새 사용자를 추가한 다음 docker 그룹에 추가합니다.
hakase 사용자를 추가합니다.
useradd -m -s /bin/bash hakase
passwd hakase도커 그룹에 hakase use를 추가합니다.
usermod -aG docker hakase
이제 hakase 사용자로 로그인하고 docker 명령을 실행합니다.
su - hakase
docker run hello-world그리고 당신은 docker에서 hello world를 얻을 것입니다.
도커의 기본 사용법
이 섹션에서는 일반적으로 사용되는 docker 명령 옵션을 보여줍니다. 예를 들어 도커 이미지를 다운로드하는 방법, 컨테이너를 빌드하는 방법 및 컨테이너에 액세스하는 방법.
새 컨테이너를 만들려면 먼저 OS와 함께 기본 이미지를 선택해야 합니다. 우분투 또는 centos 또는 다른. docker search 명령을 사용하여 기본 이미지를 검색할 수 있습니다.
docker search ubuntu
이 명령은 모든 우분투 이미지를 보여줍니다. docker search centos 등을 직접 시도해 볼 수 있습니다.
이제 기본 이미지를 서버에 다운로드할 시간입니다. 다음 명령을 사용하십시오.
docker pull ubuntu
docker pull image-name 명령은 docker registry/DockerHub에서 서버로 이미지를 다운로드합니다.
이제 다음 명령을 사용하여 다운로드한 모든 이미지를 볼 수 있습니다.
docker images
Ubuntu 이미지는 DockerHub/Docker Registry에서 다운로드했습니다. 다음 단계는 해당 이미지에서 컨테이너를 만드는 것입니다.
컨테이너를 생성하려면 docker create 또는 docker run을 사용할 수 있습니다.
docker create ubuntu:18.04
docker create 명령은 새 컨테이너를 생성하지만 시작하지는 않습니다. 이제 실행 명령을 사용할 수 있습니다.
docker run -i -t ubuntu:18.04 /bin/bash
이 명령은 ubuntu 18.04 이미지를 기반으로 컨테이너를 생성 및 실행하고 컨테이너 내부에서 /bin/bash 명령을 실행합니다. 명령을 실행한 후 자동으로 컨테이너 내부에 있게 됩니다.
exit 명령으로 컨테이너를 떠나면 컨테이너가 중지됩니다. 컨테이너가 백그라운드에서 실행되도록 하려면 명령에 -d 옵션을 추가하기만 하면 됩니다.
docker run -i -t -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
메모:
/bin/sh -c "while true; do echo hello world; sleep 1; done" 이것은 "hello word"를 영원히 반향하는 bash 스크립트입니다.
이제 다음 명령을 사용하여 백그라운드에서 실행 중인 컨테이너를 볼 수 있습니다.
docker ps
또는 해당 bash 명령의 로그 결과를 보려면 다음 명령을 사용할 수 있습니다.
docker logs NAMES/ContainerID
백그라운드 모드에서 실행되는 컨테이너의 셸에 어떻게 액세스할 수 있습니까?
이 명령은 컨테이너의 셸에 연결합니다.
docker exec -i -t NAMES/ContainerID /bin/bash
실행 중인 Docker 컨테이너를 입력합니다.
호스트 이름과 컨테이너 ID가 동일한 것을 볼 수 있습니다. 이는 컨테이너 셸 내부에 있음을 의미합니다. 해당 셸에서 "exit"를 입력하면 해당 셸에서 나가지만 컨테이너는 계속 실행됩니다.
자주 사용하게 될 또 다른 명령은 다음과 같습니다.
docker stop NAME/ContainerID
이렇게 하면 컨테이너를 삭제하지 않고 중지하므로 다음 명령으로 다시 시작할 수 있습니다.
docker start NAME/ContainerID
컨테이너를 제거하려면 먼저 중지한 다음 다음 명령을 사용하여 제거하십시오.
docker rm NAME/ContainerID
이것은 Ubuntu에서 Docker의 설치 및 기본 사용법에 대한 간단한 소개일 뿐입니다. 여기에서 자세한 Docker 설명서 페이지를 찾을 수 있습니다.
Docker에 대한 자세한 소개는 이 Howtoforge 자습서 시리즈(https://www.howtoforge.com/tutorial/how-to-use-docker-introduction/)에서 확인할 수 있습니다.
결론
Docker는 개발자가 애플리케이션을 배포하고 시스템 관리자가 안전한 가상 컨테이너 환경에서 애플리케이션을 관리할 수 있도록 지원하는 오픈 소스 컨테이너 가상화 플랫폼입니다. Docker는 Intel/AMD 64비트 아키텍처에서 실행되며 커널은 3.10 버전 이상이어야 합니다. Docker를 사용하면 컨테이너 내에서 애플리케이션을 빌드 및 실행한 다음 아무 걱정 없이 컨테이너를 docker를 실행하는 다른 시스템으로 이동할 수 있습니다.