본문 바로가기
도커

도커(우분투 이미지 컨테이너 실행)

by 베어그릴스 2023. 3. 15.
반응형

저번 시간 도커 설치에 대한 매뉴얼을 작성하였습니다.

https://kingsurvival.tistory.com/69

 

도커 우분투 설치 메뉴얼(최신)

소개 및 배경 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 다양한 이유로 계속 바뀌는 서버 환경과 개발 환경 문제를 해결하기 위해 등장했다. 툴 업데이트, 회사의 툴 사용 변경, 회사

kingsurvival.tistory.com

 

그 후 도커에 우분투 이미지를 다운로드하여 웹서버를 구축할 것입니다.

 

도커 이미지와 컨테이너에 대해서 알아봅시다.

더보기

도커 이미지와 컨테이너는 서로 다른 개념입니다.

도커 이미지는 애플리케이션 실행에 필요한 모든 파일과 설정 등을 포함하는 파일입니다. 이 이미지는 Dockerfile이나 기존 이미지를 기반으로 생성됩니다. 이미지는 읽기 전용이며, 여러 컨테이너에서 공유될 수 있습니다.

반면에 도커 컨테이너는 이미지의 인스턴스입니다. 즉, 이미지를 실행한 상태입니다. 컨테이너는 호스트 시스템에서 격리된 환경에서 실행되며, 이미지에서 정의된 설정과 응용 프로그램을 실행합니다. 컨테이너는 읽기-쓰기 가능한 파일 시스템을 가지며, 생성된 후에는 변경이 가능합니다. 또한 컨테이너는 시작, 정지, 삭제 등의 작업을 수행할 수 있습니다.

이미지와 컨테이너는 서로 밀접한 관련이 있습니다. 이미지는 컨테이너를 생성하는 데 사용되며, 컨테이너는 이미지를 기반으로 실행됩니다. 따라서 이미지를 업데이트하면 새로운 컨테이너를 만들어 실행할 수 있습니다. 컨테이너가 삭제되면 이미지는 여전히 남아 있으며, 이를 기반으로 새로운 컨테이너를 만들 수 있습니다.

 

목차

1. ubuntu 이미지 다운로드

2. 이미지 확인

3. 이미지 실행

4. 컨테이너 접속

5. 컨테이너 접속 후 기본세팅

6. 계정생성

7. 톰켓설치

8. Docker commit

 

 

1. ubuntu 이미지 다운로드

도커 우분투 이미지검색(Stars는 별점기능)

docker search ubuntu

특정 버전을 내려받고자 한다면 아래와 같이 버전명을 명시해주어야 한다.

docker pull ubuntu:20.04

버전명을 붙이지 않으면 default는 latest버전으로 내려받는다.

docker pull ubuntu:latest

2. 이미지 확인

docker images

 

3. 이미지 실행

docker run --help

여러 가지 옵션
컨테이너를 생성할 땐 여러 가지 설정을 해줄 수 있다.
그것은 대체로 생성 후에도 수정할 수 있지만 때로는 정말 번거로운 과정이 되므로
무작정 검색 결과를 보며 따라 하기보다는 필요한 옵션이 무엇인지 판단하여 작성하도록 하자.


-d : daemon 모드 실행, 또는 detach 모드 실행이라고 한다. 컨테이너를 background로 실행하며 정상적으로 실행될 경우 컨테이너의 ID를 출력한다.
-e : environment의 줄임말로, -e KEY=value와 같이 사용하며 컨테이너에 환경변수를 설정한다. 전달해야 할 환경변수가 여러 개라면 -e KEY0=value0 -e KEY1=value1와 같이 반복해서 사용할 수 있다.
-i : interactive의 줄임말로, 표준 입력을 받기 위한 옵션이다.
-p : port의 줄임말로 특정 포트를 컨테이너에 포트 포워딩하기 위해 사용한다. -p containerPort:hostPort와 같이 사용하며 -p containerPort:hostPort/protocol의 형태로 TCP 같은 프로토콜을 지정해 줄 수도 있다. 환경변수와 마찬가지로 이 녀석도 여러 개 설정해주고 싶다면 반복해서 사용할 수 있다.
-t : 가상 터미널 환경을 제공해 주는 옵션이다.
-name :

Docker 컨테이너를 제어할 때 컨테이너 ID를 사용하면 읽거나 기억하기가 어려워서 불편하게 느껴집니다. 이럴 경우, --name 옵션을 사용해서 컨테이너에 이름을 부여해 주면 해당 이름으로 컨테이너를 식별할 수 있습니다.

 


docker run 이미지 기반으로 컨테이너 실행(itd) 옵션 적용

-i : interactive의 줄임말로, 표준 입력을 받기 위한 옵션이다.

-t : 가상 터미널 환경을 제공해 주는 옵션이다.

-d : 많은 경우 컨테이너를 백그라운드에서 실행해야 하는데요. 이 때는 -d 옵션을 사용하면 됩니다. -d 옵션을 사용하면 컨테이너가 detached 모드에서 실행되며, 실행 결과로 컨테이너 ID만을 출력합니다. 

 

아래 docker run 명령어 옵션에 -d 옵션 없이 실행 시, 해당 터미널에서 Ctrl + C를 눌러서 빠져나오는 순간 해당 컨테이너는 종료될 것입니다.

 

기본 포맷은 아래와 같다.

docker run (<옵션>) <이미지 식별자> (<명령어>) (<인자>)

 

 

-i 옵션과 -t 옵션은 같이 쓰이는 경우가 매우 많습니다. 이 두 옵션은 컨테이너를 종료하지 않은 채로, 터미널의 입력을 계속해서 컨테이너로 전달하기 위해서 사용합니다. 따라서, -it 옵션은 특히 컨테이너의 쉘(shell)이나 CLI 도구를 사용할 때

매우 유용하게 사용됩니다.

 

아래 명령어를 입력시 위 에서 다운로드받은 ubuntu이미지로 실행되면서 컨테이너가 생성됩니다.

docker run -itd ubuntu

 

 

4. 컨테이너 접속

실행 중인 컨테이너 상태 확인

docker ps

컨테이너 전체 확인

docker ps -a

컨테이너 접속

docker exec -it 컨테이너이름 /bin/bash

 

5. 컨테이너 접속 후 기본세팅

기본적으로 도커에 우분투 이미지를 설치하고 컨테이너 실행 시 root로 바로 들어가진다.

 

웹 서버를 구동해야 할 경우 기본적인 환경세팅이 필요하다.

 

슈퍼유저 root 계정 패스워드 설정

sudo passwd root
리눅스 업데이트및 업그레이드
apt-get update
apt-get upgrade

net-tools 설치
apt install net-tools

vi 에디터 설치
apt-get install vim

ssh 설치
apt install openssh-server

openjdk 설치
apt install openjdk-8-jre-headless -y

압축파일을 풀 때 쓰인다.
apt-get install zip
apt-get install unzip

 

5-1 자바 환경설정

$ vi -b /etc/profile
...
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

5-2 JAVA_HOME 확인

$ source /etc/profile
$ echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64

5-3 ssh 접속허용

vi /etc/ssh/sshd_config

PasswordAuthentication yes //주석해제 또는 no -> yes로 변경

ssh 서비스 리스타트

정상 반영 됐는지확인
cat /etc/ssh/sshd_config

SSH 서비스 리스타트
service ssh restart

 

6. 계정생성

adduser docker

6-1 docker 계정에 sudo 권한부여

sudo usermod -a -G sudo docker

putty 또는 ssh 재접속

 

7. 톰켓설치

 

공식 홈페이지에서 버전에 맞게 톰켓을 다운로드한다.

 

우분투에 올라갈 것이므로 tar.gz 로 받는다.

 

https://tomcat.apache.org/download-80.cgi

 

Apache Tomcat® - Apache Tomcat 8 Software Downloads

Welcome to the Apache Tomcat® 8.x software download page. This page provides download links for obtaining the latest versions of Tomcat 8.x software, as well as links to the archives of older releases. Unsure which version you need? Specification versions

tomcat.apache.org

 

압축해제

tar -xvzf apache-tomcat-8.5.87.tar.gz

 

8. Docker commit

일반적으로 도커 컨테이너 상에서 작업한 내용등은 컨테이너가 종료되면 함께 사라집니다.
도커 컨테이너 상에서 작업한 내용을 이미지로 커밋(commit) 해서 나중에 해당 이미지로부터 다시 컨테이너를 실행함으로 작업했던 내용을 다시 사용할 수 있다.

 

docker commit 명령은 컨테이너의 현재 상태 이미지 파일로 생성합니다.

컨테이너 정지
docker stop 컨테이너이름

이미지저장
docker commit 컨테이너이름 ubuntu-ws

 

8-1 이미지 확인

SIZE를 보면 현재까지 설치하고 작업했던 내용들을 포함하여 SIZE가 올라갔다.

 

다음 시간엔 이미지저장방법과 컨테이너 export / import, SSH로 특정 컨테이너 접속방법과 컨테이너 내부의 톰켓서버를 외부에서 접속할 수 있는 방법에 대해 포스팅합니다.

 

오늘도 보람찬 생존 ^.^

 
반응형

'도커' 카테고리의 다른 글

윈도우서버 2016 서버 도커설치  (7) 2024.09.20
도커 우분투 설치 메뉴얼(최신)  (0) 2023.03.13
도커 설치  (0) 2022.08.02

댓글