-
Docker 설치해보기 + Docker에 Jenkins 설치(윈도우10 Home Edition)MSA & 쿠버네티스(Kubernetes) - k8s 2022. 7. 22. 21:35
도커란?
도커에 대해 잘 모르신다면 다음 글을 보고 오시면 좋습니다.
https://junuuu.tistory.com/331?category=994008
WSL2 설치 및 활성화 방법
"나는 Docker를 설치하려고하는데 무슨.. WSL2?" 라고 생각할 수 있습니다.
Docker는 리눅스를 기반으로 하기 때문에 리눅스 운영체제 위에서 돌아가야 합니다.
Linux 계열 이외의 운영체제에서 도커를 사용하기 위해서는 다른 툴을 이용해야 합니다.
윈도우는 이전부터 Docker를 사용하는게 까다로웠으며 이러한 불편함을 해소하기 위해 Docker Desktop이 등장하게 되었습니다.
Docker Desktop은 컨테이너화 된 애플리케이션 및 마이크로 서비스를 구축하고 공유할 수 있는 Mac 또는 Windows 환경용으로 설치하기 쉬운 애플리케이션입니다.
주의!
Docker를 사용할 때 Windows Home Edition과 Windows Pro Edition의 가장 큰 차이는 Hyper -V 기능의 지원 여부입니다.
하지만 2020년부터는 WSL2가 Windows 10 Home에서도 사용할 수 있게 되어 Windows Home Eedition도 Docker Desktop을 사용할 수 있습니다.
즉, 다운로드하기 전에 별도의 설정이 필요합니다
WSL란?
윈도 운영체제에서 리눅스 운영체제의 쉘, 시스템을 사용할 수 있도록 지원해주는 기능입니다.
가상 터미널 설치하기
Windows Terminal 또는 Windows PowerShell이 필요합니다.
PowerShell 같은 경우는 별도의 설치가 필요 없는 것 같아 PowerShell을 관리자 권한으로 실행하겠습니다.
DISM으로 WSL 관련 기능 활성화
DISM(배포 이미지 서비스 및 관리) 명령어로 Micorosofy-Windows-Subsystem-Linux 기능을 활성화합니다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
위의 명령어를 입력합니다.
다음으로 dism 명령어로 VirtualMachinePlatform 기능을 활성화합니다.
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
위의 명령어를 입력합니다.
이제 윈도우를 재부팅합니다.
x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지를 다운로드하여 안내에 따라 설치합니다.
Windows Terminal을 열고 다음 명령어를 실행합니다.
wsl --set-default-version 2
도커 홈페이지 접속해서 다운로드하기
https://docs.docker.com/get-docker/
운영체제에 맞게 설치합니다.
저는 Windows 10을 사용하고 있기 때문에 Windows에 맞는 Docker를 설치합니다.
한 3분 정도 소요됬습니다.
Docker Desktop을 실행하겠습니다.
여전히 다음과 같은 에러가 발생했습니다.
그대로 해석해 보면 다음과 같은 메시지를 주고 있습니다.
"하드웨어 지원 가상화 및 데이터 실행 보호는 BIOS에서 활성화되어야 합니다."
컴퓨터를 부팅할 때 BIOS에 진입하여 다음과 같은 설정을 활성화해보려고 합니다.
하드웨어 제조사 별로 다르지만 대부분 DEL, F1, F2키 중 하나를 1초 간격으로 눌러주면 대부분 바이오스로 진입할 수 있습니다.
저 같은 경우에는 Advanced로 이동하여 Disabled 된 설정을 Enabled로 바꾸어 주었습니다.
이후에는 Save Changes & Reset을 선택하여 저장 후 재부팅하였습니다.
다시 도커를 들어가 보면 정상적으로 들어가집니다!
이제 cmd창을 열고 Jenkins 이미지를 받겠습니다.
docker pull jenkins/jenkins:lts
위의 명령어는 도커 Hub에서 Jenkins 이미지를 내려받는 명령어입니다.
DockerHub이란?
DockerHub이란 도커 이미지를 업로드하여 공유하는 저장소입니다.
이미지란 서비스 운영에 필요한 서버 프로그램, 소스코드 및 라이브러리, 컴파일된 실행 파일들을 묶어서 이미지만 존재한다면 어디에서나 이전 설정 그대로 사용할 수 있습니다.
Jenkins 이미지를 컨테이너로 실행합니다
docker run -d -p 9090:8080 -u root jenkins/jenkins:lts
-d : 컨테이너 실행을 백그라운드 지정
-p : 포트를 지정해줍니다. -p 9090:8080 은 컨테이너의 8080포트를 9090으로 노출시켜 서비스 한다는 의미입니다.
도커 컨테이너에 접속하여 암호를 가지고 와서 화면에 입력합니다.
docker exec -it 08524100bc5d1f905c48dcf2a011fd7f0c197f1a6b516a955197b22e2fb7610e /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
localhost:9090에 접속하고 jenkins 비밀번호를 입력합니다.
비밀번호 : 3dc00d25cbb04d03858a7c2001a0bd1f
cat 명령어를 입력했을 때 나오는 문자들이 바로 비밀번호 입니다.
install suggested plugins를 선택하여 기본적으로 제공해주는 플러그인을 설치합니다.
어드민 유저정보를 생성하고 저장합니다.
이제 Jenkins에 접속하였습니다.
추후에는 EC2 환경에서 Docker Jenkins를 활용한 CI/CD를 구축하여 보겠습니다.
출처
https://docs.docker.com/desktop/
https://oingdaddy.tistory.com/475
'MSA & 쿠버네티스(Kubernetes) - k8s' 카테고리의 다른 글
도커 컨테이너 수정하기 (0) 2022.08.03 Docker로 Apache 웹서버 띄우기 (0) 2022.08.02 도커란? +(도커 이미지란?) (0) 2022.06.29 NGINX란? (0) 2022.06.25 Service Discovery란? (0) 2022.03.24