728x90
728x90
애저(Azure)를 이용하여 우분투 VM을 배포하고, 도커(Docker) 구축하기
들어가며
- 애저(Azure)를 이용하여 우분투(Ubuntu) VM을 배포하고, 도커(Docker)를 구축해보자.
도커(Docker)
- 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너(Container)로 실행하고 관리하는 오픈 소스 프로젝트
- 도커는 리눅스에서 운영 체제 수준 가상화의 추상화 및 자동화 계층을 추가적으로 제공한다.
- 독립적인 '컨테이너'가 하나의 리눅스 인스턴스 안에서 실행할 수 있게 함으로써 가상 머신을 시작하여 유지 보수해야 하는 부담을 없애준다.
참고 사이트
실습하기
애저 포털에서 우분투(Ubuntu) VM 생성 및 배포하기
- 애저 포털에서 우분투(Ubuntu) 가상 머신(VM)을 생성하고 배포한다.
터미널을 이용하여 애저에 올린 우분투 VM에 접속하기
- 터미널에서 아래의 명령을 입력하여 애저에 올린 우분투 VM에 접속한다.
> ssh 관리자ID@가상머신_공용IP주소
터미널에서 작업하기
리눅스 업그레이드(업데이트) 하기
- 우선, 다음 명령을 실행하여 리눅스 머신을 최신 버전으로 업데이트해 준다.
$ sudo apt-get update
$ sudo apt-get upgrade
도커 설치 환경 구축하기
- 다음 명령을 실행하여 우분투에 도커(Docker)를 설치해 보자.
- 우선, 다음 명령을 실행하여 (혹시나 설치되어 있는) 도커의 오래된 버전을 제거한다.
$ sudo apt-get remove docker docker-engine docker.io containerd runc
- 그리고 도커를 설치하기에 앞서, 다음 명령을 실행하여 도커를 설치하기 위해 필요한 패키지들을 설치한다.
$ sudo apt-get install \
> apt-transport-https \
> ca-certificates \
> curl \
> gnupg \
> lsb-release
- 그리고 다음의 명령들을 실행하여 도커의 공식 GPG 키를 추가한다.
$ sudo install -m 0755 -d /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
GPG(GNU Privacy Guard)
- GNU에서 제공하는 OpenPGP(RFC4880)의 오픈소스 구현
- 개인 간, 머신 간 또는 개인 - 머신 간에 교환되는 메시지나 파일을 암호화하거나 서명을 추가하여 작성자를 확인하고 변조 유무를 식별할 수 있게 해주는 도구
- 기본적으로 RSA와 같은 공개 키 암호화 방식을 사용하여 종단 간 파일이나 메시지를 암호화하거나 서명하는 기능 제공
- 참고 사이트 : 클릭
- 레포지토리를 구성하기 위해 다음의 명령을 실행한다.
$ echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
도커와 레포지토리(Repository)
- 개발자들은 환경을 설정한 후, 결과물을 레포지토리에 넣는다. 서버는 레포지토리에 있는 것을 끌여와 사용한다.
- 개발 PC → 레포지토리 → Server
- 레포지토리 종류
- Local
- Cloud (ACR(Azure Container Registry))
- Docker Hub
- 이로써 도커 설치를 위한 환경을 구축하였다. 이제 도커를 설치해 보자.
도커 설치하기
- 지금까지 몇 가지 변화가 있었으므로, 다음 명령을 실행하여 업데이트할 것이 있는지 체크하고 업데이트한다.
$ sudo apt-get update
- 다음 명령을 실행하여 Docker Engine, containerd, Docker Compose를 설치한다.
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 다음과 같이 @docker@ 명령을 실행해 본다.
$ docker
- 도커 엔진이 성공적으로 설치되었는지 검증하기 위해 @hello-world@ 안내문을 띄우는 다음 명령을 실행한다. 권한이 없다는 안내문(@permission denied.@)이 출력된다.
$ docker run hello-world
@sudo@ 없이 명령어 실행하기 (일반 유저에게 @sudo@ 권한 주기)
- 매번 명령 앞에 @sudo@를 붙여서 실행하는 것은 정말 번거롭다. @sudo@를 입력하지 않고도 명령을 실행할 수 있도록 하기 위해, 일반 유저에게도 @sudo@의 권한을 주도록 해보자. 다음 명령을 실행한다.
$ sudo usermod -a -G docker $USER
- 그리고 다음 명령을 실행하여 도커 서비스를 다시 시작해준다.
$ sudo service docker restart
- 다시 아래의 명령을 실행해본다. 아직도 권한이 없다는 안내문이 출력된다.
$ docker run hello-world
- 원격 접속을 해제하고 다시 접속해주자. 다음 명령을 실행하여 원격 접속을 해제한다.
$ exit
> ssh 관리자ID@가상머신_공용IP주소
- 다시 다음 명령을 실행하여 @hello-world@ 안내문을 출력해본다.
$ docker run hello-world
- 명령을 실행하면 레포지토리(Repository)에서 다운로드 받고, 그 이미지를 끌어와서 실행하는 것이다.
참고
- 우분투에 도커 설치와 관련된 내용은 아래의 공식 문서를 참고한다.
- 다음 명령을 입력하여 도커 버전을 확인할 수 있다.
$ docker --version
- 도커의 특정 명령문에 대해 궁금한 점이 있다면, 다음과 같이 맨 끝에 @--help@를 붙여서 명령을 실행한다.
$ docker pull --help
참고 사이트
도커 공식 문서
728x90
728x90
'DevOps > Azure' 카테고리의 다른 글
[Azure] 쿠버네티스(Kubernetes) 실습하기 : 미니쿠베(minikube) 설치하기 (0) | 2023.05.27 |
---|---|
[Azure] 도커(Docker) 실습하기 : 도커 이미지를 다른 사람과 공유하여 사용해보기 (0) | 2023.05.27 |
[Azure] 도커(Docker) 실습하기 : Dockerfile을 이용하여 직접 도커 이미지를 만들고 컨테이너 만들어보기 (0) | 2023.05.27 |
[Azure] 도커(Docker) 실습하기 : 간단한 실습 해보기 (0) | 2023.05.27 |
[Azure] 파이썬(Python)을 사용하여 데이터베이스 쿼리 실습하기 (0) | 2023.05.24 |
[Azure] SQL Server 실습하기 (0) | 2023.05.24 |
[Azure] SSMS/VS Code를 사용하여 연결 및 쿼리 실습하기 (0) | 2023.05.23 |
[Azure] 단일 데이터베이스 만들기 (0) | 2023.05.23 |