::: IT인터넷 :::

우분투 가상 환경으로 Docker 빌드 에이전트 만들기

곰탱이푸우 2022. 1. 20. 08:20
Docker를 이용하여 Jenkins를 설치하고 기본적인 설정을 적용하는 방법에 대해서는 예전 포스팅에서 이미 다뤘다.
 
Docker를 이용한 Jenkins 설치와 기본 설정 방법은 아래 포스팅을 참고한다.
또한 Docker와 NAS의 Virtual Machine Manager (VMM)을 이용하여 파이썬과 exe 빌드 이미지를 만드는 방법을 다뤘다.
 
해당 방법은 아래 포스팅을 참고한다.
이번에는 Docker 이미지를 빌드할 수 있는 환경을 만들기 위해, Docker 빌드 에이전트를 만드는 방법을 정리한다.
 
Docker 컨테이너 내부에서 docker를 설치해도 호스트 PC의 Docker 이미지를 공유해서 사용한다.
Docker는 반가상화 기술을 사용하기 때문으로, 전가상화 방식을 사용하는 VirtualBox나 VMware를 사용하면 해결  가능하다.
물론 시놀로지 NAS에서는 VMM를 사용하면 된다.
 
이전 포스팅을 통해 생성한 VirtualBox로 생성한 우분투 가상 환경을 이용한다.
 
우분투 가상 환경 생성은 다음 포스팅을 참고한다.
일반 PC 환경에서 가상 환경을 생성하고 OVA 파일로 추출해서, 서버 환경으로 옮겨서 불러오면 바로 사용 가능하다.
 

필요한 프로그램 설치

Docker 빌드 에이전트를 만들기 위해서는 Docker를 설치해야 한다.
또한 Jenkins에 빌드 에이전트로 등록하기 위해 필요한 Java와 가상 환경에 ssh로 접속하기 위한 openssh-server를 설치한다.
 

패키지 목록 업데이트

카카오가 운영하는 우분투 APT 미러 서버 또는 사설 저장소를 사용하려고 하는 경우 APT 저장소를 변경한다.
 
그리고 패키지 목록을 최신으로 업데이트 한다.
$ sudo apt update
 

Docker

아래 명령을 사용하여 docker.io를 설치한다.
$ sudo apt install docker.io

 

docker-ce를 사용해도 되지만, docker.io로도 충분하다.
 
docker를 설치하는 방법은 아래 포스팅을 참고한다.

 

설치하고 나면 sudo로 권한을 상승해야 이미지 사용이 가능하다.
매번 입력하기 귀찮으므로 아래 명령을 실행하여, docker 사용자 그룹에 현재 사용자를 추가한다.
실행 이후 터미널을 재실행 해야 정상 적용 된다.
$ sudo usermod -a -G docker $USER
 
아래와 같이 sudo 명령 없이 docker 실행이 가능하다.
 
 
사설 저장소를 사용하는 경우 https 설정이 되어 있지 않으면 insecure 옵션을 지정해야 한다.

OpenJDK-11-jdk

Jenkins에 에이전트로 등록하는 프로그램을 실행하기 위해 Java를 설치한다.
jar 파일을 실행할 용도이므로 jdk가 아닌 jre를 깔아도 된다.
 
$ sudo apt install openjdk-11-jdk
 
설치가 완료되면 설치 된 Java 버전을 확인하여 정상 설치 여부를 확인한다.
 
$ java --version

 

 

아래와 같이 버전이 확인되면 정상적으로 설치 된 것이다.
 
 

openssh-server

가상 머신에 ssh로 접속하기 위해 openssh-server를 설치한다.
당장 필요한 것은 아니지만, 해당 가상 머신의 OVA 파일을 서버 환경으로 옮겨서 설정했을 때 관리 목적으로 사용한다.

 

아래 명령으로 openssh-server를 설치한다.
$ sudo apt install openssh-server
 
설치가 완료되면 호스트 PC에서 아래 명령으로 가상 머신에 ssh 접속이 되는지 확인한다.
$ ssh -p 22 dockerbuild@192.168.56.101
 
정상 접속되는 경우 아래와 같이 연결된다.
 
 
자세한 내용은 아래 포스팅을 참고한다.
 

스냅샷 생성

여기까지 완료되면 현재까지 적용 된 항목을 저장하기 위해 스냅샷을 생성한다.
이전 포스팅에서 우분투 가상 환경을 만들고 나서 스냅샷을 생성한 목적과 동일하다.
우분투 가상 환경을 만들고 스냅샷을 생성하는 방법은 아래 포스팅을 참고한다.
혹시라도 이후 설정 과정에서 오류가 발생하거나 잘못 설치하더라도, 스냅샷을 이용하면 빠르게 이전 상태로 되돌릴 수 있다.
바로 이러한 점이 VirtualBox와 같은 전가상화 기반의 가상 환경을 사용하는 이유이기도 하다.

 

상단 메뉴에서 머신 - 스냅샷 찍기 버튼을 클릭한다.
 

 

 
생성하고자 하는 스냅샷 이름을 입력하고 확인 버튼을 입력한다.
스냅샷 설명에는 현재까지 적용한 내용을 간단하게 적어 놓으면, 나중에 사용할 때 참고하기 좋다.
 
 
가상 머신의 전원이 켜진 상태라면 현재 상태를 저장하기 위해 시간이 더 걸릴 수 있다.
전원을 끈 상태에서 스냅샷을 생성하면 속도도 빠르고 저장 공간도 적게 차지한다.