먼저 Ubuntu Server의 iso 이미지를 다운로드 받아서 Oracle VirtualBox에 가상 머신을 만들었다.
설치 방법 및 기본 설정은 이전 게시글에 있으니 링크를 걸어둔다. 하지만 이번 실습에선 아래 글과 같이 하나하나 설정하지 않고 대부분 기본 설정으로 빠르게 만들었다. 또한 네트워크 인터페이스 카드도 NAT 하나만 설정했다.
https://yoonhoji.tistory.com/3?category=1042734
Configure Ubuntu Server
먼저 인터넷 연결을 확인한다.
sudo apt update
NetworkManager를 설치한다.
sudo apt install -y network-manager
sudo systemctl status network-manager
포트 포워딩 적용을 위해 위에 첨부한 글을 참고해 설정해준다.
포트포워딩 & NAT Network 설정
시스템 설정 파일인 yaml 파일을 백업해둔다.
cd /etc/netplan
sudo cp 00-installer-config.yaml 00-installer-config.yaml.bak
sudo nano 00-installer-config.yaml
두 칸씩 들여쓰기에 주의하며 yaml 파일에 고정 IP 주소를 할당한다. 수정을 완료했다면 Ctrl+O로 덮어쓰고, Ctrl+X로 nano editor를 빠져나가면 된다.
sudo netplan try
(Enter)
sudo netplan apply
sudo systemctl stop network-manager
sudo systemctl start network-manager
sudo systemctl stop network-manager
sudo systemctl start network-manager
NetworkManager를 몇 번 재부팅 해 주고 난 뒤 인터넷 연결을 확인하기 위해 업데이트를 해본다.
sudo apt update
만약 여기서 인터넷 연결이 안 되었다고 나온다면 게이트웨이로 핑을 쳐 봐야 한다.
ping 10.0.2.1
ping 10.0.2.2
ping 10.0.2.3
이 정도로 확인해보면 첫 번째는 연결이 안 될 것이고 2번이나 3번에 핑이 닿는다면 아까 정적으로 IP 주소를 할당해 주었던 단계로 돌아가서 gateway4 부분을 수정해주고 이후의 과정을 수행하고 난 뒤 다시 업데이트를 해 본다.
sudo apt update
인터넷 연결이 정상적으로 되었다면 hostname을 수정한다.
cd $HOME
sudo nano /etc/hostname
위와 같이 설정하고 저장한다.
sudo nano /etc/hosts
위와 같이 두 번째 줄의 hostname을 변경하고 저장한다.
그리고 핑을 쳐서 호스트 네임이 정상적으로 인식되고 있는지 확인한다.
Client Tool로 접속하기 위해 SSH를 설치한다.
sudo apt install -y openssh-server
HOST를 잡아준다.
export HOST=docker-ubuntu
Firewall 설정은 생략했다.
그리고 클라이언트 툴(XShell, putty, SecureCRT 등)으로 접속한다.
127.0.0.1:105
Install Docker Engine
우분투 서버 환경 구성은 완료됐고 이제부터 Docker Engine을 설치한다.
Install Docker Engine on Ubuntu | Docker Documentation
아래 정리한 명령어들은 위의 문서에서 그대로 가져온 것이다.
복사, 붙여넣기로 진행하는 것을 추천.
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt install docker-ce docker-ce-cli containerd.io
sudo systemctl status docker
sudo docker version
sudo docker run hello-world
Lab 1 - Ubuntu, Git in Docker Container
아래 이미지와 같이 Base Image로 Ubuntu Server를 Pull & Run하고 그 Ubuntu 위에 Git을 Install 한다.
sudo docker pull ubuntu
sudo docker image ls
Run 명령어로 Pull 까지 한 번에 한다.
sudo docker run -it --name git ubuntu:latest bash
(i : Interactive, t : Tty)
apt update
apt install -y git
git --version
exit (도커 프로세스 종료)
sudo docker ps -a
sudo docker commit git ubuntu:git
sudo docker images
sudo docker run -it --name git2 ubuntu:git bash
git --version
exit
sudo docker rm git2
sudo docker rm git
sudo docker rm 7e1 (CONTAINER ID의 앞 3자리)
Lab 2 - Nginx Web Server in Docker Container
(관리자 로그인)
su -
docker search nginx
docker pull nginx
이미지 레이어 확인하기
cd /var/lib/docker/overlay2
ls -l
Nginx는 총 6개의 레이어로 이루어져 있음을 알 수 있다 (l은 디폴트).
Nginx를 Run해서 메모리에 프로세스로 올려 Container로 만든다.
docker run -d --name webserver -p 80:80 nginx:latest
이제 실제 OS인 Windows에서 브라우저를 열고 192.168.56.100:80으로 접속하면 Nginx 웹 서버가 나온다.
'IT > Docker' 카테고리의 다른 글
[Docker Swarm] docker-swarm 설치 및 기초 (0) | 2021.12.15 |
---|---|
[Docker Compose] 설치 방법 및 기본 명령어 (1) | 2021.12.14 |
[Docker] Container Resource Management (0) | 2021.12.14 |
Virtualization with Docker (0) | 2021.10.30 |