[03.워드프레스] 가상 서버에 Docker 설치하기

지난시간까지 구글 클라우드에 가상서버를 생성하고, 네트워크 설정 및 방화벽 규칙을 추가 했습니다.

🔗 [02.워드프레스] 가상서버 네트워크 설정하기

구글 클라우드에 생성한 가상서버에 ssh로 접속해서 Docker를 설치하고 연습으로 Docker hellow world를 실행해보겠습니다. 그리고 Docker로 nginx를 설치하고 간단한 웹페이지를 띄워보겠습니다.

도커 설치하기

우선 구글 클라우드에 로그인 후 콘솔 화면으로 이동해주세요.

인스턴스 목록에서 지난시간에 생성한 가상머신에 ssh로 접속해보겠습니다.

SSH란? 시큐어 셸은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 의미 합니다.

접속을 원하는 가상머신의 오른쪽에 있는 SSH 버튼을 클릭 합니다.

도커 설치하는 방법

그럼 새창이 뜨면서 가상머신에 SSH 접속이 됩니다.

일반적으로 윈도우의 GUI(Graphic User Interface) 환경에 익숙해서 CLI(Command Line Interface) 화면이 익숙하지 않을 수 있지만, 기본적인 명령어와 구글에서 명령어를 찾아가면서 하면 어렵지 않게 사용이 가능하실꺼에요.

예전에 MS-DOS를 주로 사용하셨다면 괜찮을듯 합니다.

도커 설치하는 방법

오래된 버전 삭제하기

혹시나 오래된 버전이 설치되어 있다면 최신 버전 설치를 위해 삭제 합니다.

$ sudo apt-get remove docker docker-engine docker.io containerd runc
SSH Config

repository 설정

apt package index를 업데이트 하고 https를 통해 repository를 사용하기 위해 package를 설치 합니다.

$ sudo apt-get update
SSH Config
$ sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
SSH Config

Docker의 Official GPC Key를 등록 해줍니다.

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

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
SSH Config

Docker Engine 설치하기

설치되어 있는 패키지를 우선 업데이트 합니다.

$ sudo apt-get updates
SSH Config

Docker Engine을 설치 합니다.

설치 과정에서 계속 진행할꺼냐는 질문에는 y 키를 입력해서 계속 진행하면 됩니다.

$ sudo apt-get install docker-ce docker-ce-cli containerd.io
SSH Config
도커 설치하는 방법

Docker 설치가 완료되면 정상적으로 설치가 되었는지 Docker 버전을 확인 합니다.

$ docker --version
Dockerfile
도커 설치하는 방법

프로그래밍을 처음 배우면 보통 헬로 월드를 화면에 출력하는걸 제일 처음으로 하는데요, Docker를 이용해서 헬로 월드를 화면에 출력해보겠습니다.

$ sudo docker run hello-world
Dockerfile

그럼 잠시 뭔가 다운로드 후 화면에 Hello from Docker! 라는 내용을 확인 할 수 있습니다.

도커 설치하는 방법

Docker compose는 여러개의 Docker container들을 정의하고 실행할 수 있도록 도와주는 툴 입니다. yaml 파일을 작성해서 어플리케이션 서비스를 정의하고 한번에 여러개의 Docker container를 생성하고 실행 할 수 있습니다.

$ sudo apt-get update
SSH Config
$ sudo apt-get install docker-compose-plugin
SSH Config

설치가 완료되면 정상적으로 설치 되었는지 아래 명령어로 확인 합니다.

버전이 정상적으로 보이면 잘 설치된 것입니다.

$ docker compose version
Dockerfile
도커 설치하는 방법

앞에서 docker run hello-world를 실행 할때 앞에 sudo 명령어를 붙여서 입력 했었는데요, sudo 없이 docker run hello-world 를 실행하면 Permission denied 라는 에러가 발생 합니다.

도커 설치하는 방법

아래 명령어를 입력하면 sudo 를 붙이지 않아도 Docker를 실행 할 수 있습니다.

리눅스는 대/소문자를 구분하니 대소문자에 유의해서 명령어를 입력해주세요.

  • -a 는 사용자를 추가하는 명령
  • -G 는 그룹 옵션
  • $USER 는 현재 접속중인 사용자
$ sudo usermod -aG docker $USER
SSH Config

새로 등록된 그룹은 로그아웃 후 재 로그인 해야 반영되니 logout 명령으로 로그아웃 후 다시 ssh를 눌러 접속 합니다.

$ logout
SSH Config

ssh로 다시 접속 후 sudo 를 빼고 docker run hello-world 를 실행하면 잘 실행되는것을 확인 할 수 있습니다.

$ sudo docker run hello-world
Dockerfile
도커 설치하는 방법

마지막으로 Docker container를 이용해서 nginx를 띄워보는 작업을 해보겠습니다.

Nginx Docker container 실행하기

아래의 코드를 입력하면 nginx에 필요한 이미지를 다운로드 받고 Docker container 생성합니다. 

  • –name mynginx mynginx라는 이름으로 Docker container 생성
  • -d 백그라운드에서 실행
  • -p 80:80 호스트의 80포트와 nginx container의 80 포트를 연결
  • nginx nginx의 이미지 이름
$ docker run --name mynginx -d -p 80:80 nginx
Dockerfile

실행중인 Docker container 확인하기

현재 실행되고 Docker container를 확인하려면 아래 명령어를 입력합니다.

  • CONTAINER ID : Docker container의 고유 ID 입니다.
  • IMAGE : Docker container가 어떤 이미지를 기반으로 생성 되었는지 나타냅니다. 위에서 nginx 이미지를 사용했기에 nginx라고 나옵니다.
  • COMMAND : Docker container의 명령어 진입점 입니다.
  • CREATED : Docker container가 생성된 시점 입니다. 6분전에 생성 되었습니다.
  • STATUS : Docker container가 실행중이며 6분전에 실행 되었습니다.
  • PORTS : 모든 IP가 호스트 80 포트로 접속되면 Docker container 80 포트로 포워딩 해줍니다.
  • NAMES : 위에서 지정한 Docker container 이름 입니다.
$ docker container ps
Dockerfile
도커 설치하는 방법

브라우저에서 웹서버 접속하기

예를들어 외부 IP가 34.63.23.210 이라고 되어 있으면 http://34.63.23.210 으로 입력하면 됩니다.

도커 설치하는 방법

다음 시간에는 Docker compose 를 활용해서 워드프레스를 생성하고 접속해보도록 하겠습니다.

🔗 [04.워드프레스] Docker로 워드프레스 설치하기

Leave a Reply

Your email address will not be published. Required fields are marked *