Docker를 이용한 Server 환경 구축(1) - Main Java Server

박찬진·2022년 7월 15일

Docker

목록 보기
1/2

우선 Docker란 무엇일까?

Docker란, 프로그램에 있어서 Server나 PC 환경을 많이 타게 되는데, 이러한 환경을 한 컴퓨터에서 여러 환경을 빠르고 쉽게 이용 할 수 있게 해주는 Tool이다.(필자가 이해한바론?)

현재 인터넷이 안되는 상태의 Server에 프로그램 환경을 구축하는 방법에는 여러가지 방법이 있다.
대표적으로

  1. 필요한 환경들을 zip, tar.gz ... 등등 파일로 압축을 풀어서 내부에 있는 make나 configure 등등을 모두 진행해주고 환경파일도 일일히 넣어주고 경로 찍어주어서 설치하는 방식이 있다.
    쥰나게 고전적이고, 개오래걸리고, 의존성땜에 굉장히 빡치는 작업 방식이다.

  2. VMware 같은 곳에서 환경들을 모두 설치해준뒤 image로 만들어 해당 Server에 해당 image를 올려서 설치하는 방식이 있다. 하지만, Ubuntu는 PC와 Server와 조금 상이 할 수 있기 때문에 비추천한다.

  3. Docker위에 모든 환경을 구축하고 Docker image로 만들어서 해당 Server에 해당 Docker를 올려서 환경을 구축한다.
    이 방법은 빠르고, 가볍고, 정확하게 작업 할 수 있다.

외에도 많은 방법이 있는데 3번의 방식으로 Server 환경을 구축할 예정이다.

우선 VMware에서 테스트 하고 진행 할 예정이다.

초기 Ubuntu 상태에서 mirror server를 바꾸고 시작한다.

기본적으로 해야하는 것은 바로

root@ubuntu:~$ sudo apt-get update
root@ubuntu:~$ sudo apt-get upgrade

를 통해서 apt를 업데이트 해주자

또한 Docker를 설치하기위해 repository를 정해주자

우선 필요 패키지 설치를 진행한다.

sudo apt-get -y install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Docker Official key 등록

 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

stable repository 등록

 echo \
  "deb [arch=amd64 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

이제 Docker를 설치해주자

sudo apt-get install docker-ce docker-ce-cli containerd.io

,,,
하니까 안된다 ㅎ~~

그냥 개편한 apt-get install 쓰자.(이상한거 하지말고 ㅋㅋ)

sudo apt-get install docker
sudo apt-get install docker.io

Docker 가 잘 설치되었는지 확인하자

docker --version

이제 Google에 Docker Hub를 검색하여 해당 홈페이지 들어가자
링크 : https://hub.docker.com/

우선 Main Java Spring Server에서는
통신을 위한 Nginx...
DB sql인 PostgreSQL...
Spring Framework를 사용하기 위한 Jdk11...
을 설치해야한다.(설치류 킥킥)

따라서 Docker hub에
ubuntu nginx를 검색하고 tag를 알아오자
나는 ubuntu 20.04를 사용하기 떄문에 다음의 링크에서 태그를 알아왔다.
https://hub.docker.com/r/ubuntu/nginx/tags

sudo docker pull ubuntu/nginx:1.18-20.04_edge
sudo docker images

위 코드를 진행하면 다음과 같은 상황을 볼 수 있다.

이러면 정상적으로 Docker image를 받아온 것이다. 안되면 고생해라.

 sudo docker run -it --rm ubuntu/nginx /bin/bash

위 명령어를 이용하여 Docker를 활성화 해주자. 이걸하면 나의 terminal이 docker에서 열린 terminal 처럼 보이는데 맞는 것이다. 여기서 rm옵션은 Docker를 저장하지 exit 하게되면 자동으로 지워진다.

sudo docker run -v ~/workspace/try1:/workspace/try1 -it --name npjServer --rm ubuntu/nginx /bin/bash

-v : 공유폴더를 만들어 주는 옵션
--name : docker 이름 지어주는 옵션

-----------In Docker--------------
docker내에서도 처음에 뭐겠나...

root@ubuntu:~$ sudo apt-get update
root@ubuntu:~$ sudo apt-get upgrade

참고로 docker 내에 아무것도 없다... 진짜로...
2020.07.15

profile
일단 해보자

0개의 댓글