VMware로 리눅스 설치하고 도커 준비하기

2025. 10. 18. 23:05도커&쿠버네틱스

 

 

VMware 소개와 왜 VMware를 선택해야 하는가

VMware는 1998년부터 시스템 가상화 기술을 선도해 온 기업으로, 현재는 Broadcom에 인수되었습니다. 인수 이후 개인 사용자는 VMware Workstation Pro를 완전히 무료로 사용할 수 있게 되었습니다.

Docker는 리눅스 커널 기능을 기반으로 동작하기 때문에, 윈도우 환경에서 제대로 활용하려면 리눅스 환경이 반드시 필요합니다. 이때 윈도우를 지우지 않고도 리눅스를 자유롭게 사용할 수 있는 가장 편리한 방법이 바로 가상화이며, 그 대표적인 도구가 VMware Workstation입니다.

이번 실습에서는 CentOS Stream 9 한 대를 깔끔하게 설치한 뒤, 추후 클론 기능을 활용해 여러 대를 복제하여 Docker Swarm이나 Kubernetes와 같은 다중 노드 실습까지 확장할 예정입니다.

요즘은 Hyper-V나 WSL2를 사용하는 경우도 많지만, 네트워크 설정을 자유롭게 제어해야 하는 실무형 교육에서는 여전히 VMware Workstation이 가장 직관적이고 편리합니다.

VMware Workstation Pro

기본 용어 정리

  • 호스트 OS (Host OS): 실제 컴퓨터에 설치된 운영체제 (예: Windows 11)
  • 게스트 OS (Guest OS): 가상머신 안에 설치되는 운영체제 (예: CentOS Stream 9)

VMware Workstation에서 새 가상머신 생성하기

  1. File → New Virtual Machine 선택



  2. New Virtual Machine Wizard에서 Typical (recommended) 유지 후 Next



  3. 운영체제는 나중에 설치할 예정이므로 “I will install the operating system later” 선택



  4. Guest OS는 Linux → CentOS 8 64-bit 선택 (CentOS 9는 아직 목록에 없으므로 8 선택해도 무방)



  5. 가상머신 이름과 저장 위치 지정



  6. Maximum disk size는 100 GB, Store virtual disk as a single file 선택
     


생성 후 하드웨어 설정을 위해 아래의 Memory를 두번 클릭하여 설정 창을 엽니다.

 

가상 네트워크 설정 (VMnet8 NAT)

  1. Edit → Virtual Network Editor 클릭


  2. 관리자 권한으로 실행하기 위해 Change Settings 클릭
  3. VMnet8 (NAT) 선택
  4. Use local DHCP service… 체크 해제
  5. Subnet IP: 192.168.2.0로 설정


  6. NAT Settings → Gateway IP: 192.168.2.254 확인

CentOS Stream 9 설치 시작

녹색 재생 버튼을 눌러 가상머신을 실행한 후, Install CentOS Stream 9를 선택합니다.화면 클릭시 마우스가 리눅스쪽으로 넘어감으로 방향키로 선택합니다.

  • 언어: 한국어 선택



  • 설치 요약 화면에서 ‘!’ 표시가 있는 항목은 반드시 설정
  • 설치 목적지: 100 GiB 확인 후 완료


설치 중 네트워크 및 호스트 이름 설정

  • 네트워크와 호스트 이름 → 이더넷(ens160) 토글 활성화



  • 설정 버튼 클릭 → IPv4 설정을 수동으로 변경   설정 선택
  • 호스트 이름: docker1.example.com
  • DNS 서버: 168.126.63.1
  • 게이트웨이: 192.168.2.254
  • (주소: 192.168.2.10 / 넷마스크: 24/게이트웨이: 192.168.2.254 ) Add로 추가




  • root계정, 사용자 계정 설정 (비밀번호는 잊지 않도록 주의 합니다.)

    root 비밀번호 설정 후 설치 시작 클릭 → 약 10~15분 후 재부팅(이 재부팅은 가상머신 안에서만 이루어짐)

 

  ㅑㅔ




설치 후 네트워크 연결 확인

재부팅 후 root로 로그인하고 터미널에서 다음 명령어를 차례대로 실행합니다.

ip address                     # 네트워크 인터페이스 확인
ip route                       # default gateway 192.168.2.254 확인
cat /etc/resolv.conf           # nameserver 168.126.63.1 확인
ping -c 3 168.126.63.1         # DNS 서버 연결 테스트
nslookup www.google.com        # 도메인 → IP 변환 확인
firefox &                      # 브라우저로 구글 접속 확인

ip address 명령어

ip address 명령어에서 ens160과 192.168.2.255를 확인해야 하는 이유

리눅스에서 네트워크 설정을 확인하거나 문제를 해결할 때 ip address 명령어를 자주 사용합니다. 이 명령어를 입력하면 여러 네트워크 인터페이스와 그에 할당된 IP 주소 정보가 출력되는데요, 그중에서도 ens160192.168.2.255 같은 정보는 꼭 확인해야 합니다.

1. ens160: 네트워크 인터페이스 이름 확인

ens160은 서버나 컴퓨터에 연결된 실제 또는 가상 네트워크 장치의 이름입니다.

  • 네트워크 인터페이스는 컴퓨터가 외부와 통신할 수 있게 해주는 출입구 역할을 합니다.
  • 이 이름을 정확히 아는 것은 IP 주소를 설정하거나 네트워크 상태를 점검할 때 매우 중요합니다.
  • 예를 들어, 여러 개의 네트워크 인터페이스가 있을 경우 어떤 장치를 조작할지 구분할 수 있기 때문입니다.

2. 192.168.2.255: IP 주소와 브로드캐스트 주소 확인

192.168.2.255는 흔히 네트워크의 브로드캐스트 주소를 의미합니다.

  • 브로드캐스트 주소는 같은 네트워크에 연결된 모든 장치에게 메시지를 보내는 데 사용됩니다.
  • 이 주소가 제대로 설정되어 있어야 네트워크 내 장치들 간에 올바른 통신이 가능합니다.
  • IP 주소 범위와 서브넷 마스크에 따라 브로드캐스트 주소가 달라지므로, 이 정보가 맞는지 확인하는 것이 네트워크 문제를 예방하는 데 중요합니다.

ip route 명령어

ip route 명령어와 cat /etc/resolv.conf로 네트워크 설정 확인하기

네트워크 문제를 해결하거나 환경을 점검할 때는 여러 가지 정보를 확인하는 것이 중요한데요, 그중에서 특히 ip route 명령어로 나오는 192.168.2.254와 cat /etc/resolv.conf 파일에 적힌 nameserver 168.126.63.1 값은 반드시 확인해야 할 핵심 요소입니다.

1. ip route 명령어에서 192.168.2.254 확인하기

ip route 명령어는 현재 시스템의 라우팅 테이블, 즉 데이터 패킷이 어느 경로를 통해 나갈지 알려주는 정보를 보여줍니다.

  • 여기서 192.168.2.254는 흔히 네트워크의 기본 게이트웨이(Default Gateway) 주소를 의미합니다.
  • 기본 게이트웨이는 내부 네트워크에서 외부 네트워크(예: 인터넷)로 나가는 출입구 같은 역할을 하죠.
  • 이 주소가 올바르게 설정되어 있어야 네트워크 트래픽이 제대로 외부로 나가고 들어올 수 있습니다.
  • 만약 이 기본 게이트웨이가 잘못되거나 설정이 빠져있으면 인터넷 연결이 되지 않는 문제가 발생할 수 있기 때문에 꼭 확인해야 합니다.

2. cat /etc/resolv.conf에서 nameserver 168.126.63.1 확인하기

/etc/resolv.conf 파일은 시스템이 도메인 이름을 IP 주소로 변환할 때 참고하는 DNS 서버 정보를 담고 있습니다.

  • nameserver 168.126.63.1은 DNS 서버의 IP 주소로, 컴퓨터가 인터넷 주소(예: www.google.com)를 숫자로 된 IP 주소(예: 172.217.164.110)로 바꾸어 주는 역할을 합니다.
  • 이 서버 주소가 정확하지 않거나 응답하지 않으면, 인터넷 사이트에 접속할 때 도메인 이름을 찾을 수 없어 접속이 불가능해집니다.
  • 따라서 네트워크가 정상 작동하는지 확인할 때 이 nameserver 주소가 올바르게 설정되어 있는지 반드시 점검해야 합니다.

 

실습용 기본 환경 구성

wget -q https://raw.githubusercontent.com/ncs10322/docker/main/ping.sh
sh ping.sh                     # 네트워크 종합 테스트

wget -q https://raw.githubusercontent.com/ncs10322/docker/main/setup.sh
sh setup.sh                    # 기본 환경 자동 구성

setup.sh 실행 후 확인할 사항

  • sestatus → SELinux가 permissive인지 확인
  • systemctl status firewallddisabled/inactive인지 확인 (실습용)
  • lsdocker 디렉토리 생성 확인
  • source .bashrc → 프롬프트 색상 변경 확인

    1. ping.sh 스크립트 — 네트워크 종합 테스트
    • 이 스크립트는 여러 네트워크 연결 상태를 자동으로 테스트해 줍니다.
    • 예를 들어, 인터넷 연결 여부, DNS 조회 가능성, 특정 서버와의 통신 상태 등을 한번에 점검할 수 있죠.
    • 수동으로 하나하나 테스트할 필요 없이 빠르고 정확하게 네트워크 상태를 진단할 수 있어 문제 해결이 훨씬 수월해집니다.
    • 'sh ping.sh'입력시 네트워크 테스트가 실시 됨
    • 쉘을 통해 ping을 테스트 하는 문서가 들어 있음
    2. setup.sh 스크립트 — 기본 환경 자동 구성
    • 네트워크 관련 기본 설정, 필요한 패키지 설치, 시스템 환경 변수 설정 등 여러 작업을 자동으로 처리해 줍니다.
    • 특히 네트워크 작업에 필요한 도구나 라이브러리를 설치하고 설정하는 데 유용합니다.
    • 사용자가 일일이 설정하는 실수를 줄이고, 일관된 환경을 유지할 수 있습니다.

ls와 ping 테스트

 

 

 

ls로 setup.sh와 ping.sh확인

 

sestatus로 permissive확인

 

오늘 공부한 내용 요약

  • VMware Workstation Pro가 개인 사용 무료화되면서 윈도우에서 리눅스 실습 환경을 구축하는 최적의 도구가 되었다
  • 호스트 OS와 게스트 OS의 개념 이해
  • VMnet8 NAT 네트워크를 수동으로 설정하여 고정 IP 환경 구성
  • CentOS Stream 9 설치 및 정적 IP, DNS, 호스트 이름 설정
  • 설치 후 네트워크 연결성 종합 테스트
  • 실습용 기본 환경을 자동으로 구성하는 setup.sh 활용

이제 깔끔한 CentOS Stream 9 한 대가 완성되었습니다. 다음 시간에는 이 가상머신을 클론해서 Docker Swarm, Kubernetes 다중 노드 실습 환경을 만들어보겠습니다.

명령어 / 함수 설명 주요 옵션/인자
ip address 네트워크 인터페이스와 IP 주소 확인 show, add, del
ip route 라우팅 테이블 확인 (기본 게이트웨이 확인) show, add, del
ping 특정 호스트와의 연결성 테스트 -c [횟수]
nslookup DNS 서버에 도메인 이름 조회 [도메인명]
sestatus SELinux 상태 확인 -
systemctl status firewalld firewalld 서비스 상태 확인 -
wget 웹에서 파일 다운로드 -q (quiet), URL

'도커&쿠버네틱스' 카테고리의 다른 글

Docker 실습 환경 구축 (MobaXterm + CentOS)  (0) 2025.10.23