도커

Docker 사용해보기

류창 2023. 4. 5. 21:18
반응형

 

 

 

도커(Docker)는 컨테이너 기반의 가상화 플랫폼입니다. 컨테이너는 애플리케이션과 그 애플리케이션이 실행될 때 필요한 모든 종속성을 포함하는 라이브러리와 함께 패키징된 소프트웨어 유닛입니다.

 

도커는 애플리케이션을 컨테이너로 패키징하고, 각각의 컨테이너에서 애플리케이션을 실행할 수 있도록 해줍니다. 이러한 컨테이너 기반의 가상화는 다양한 운영 체제와 환경에서도 애플리케이션을 동일하게 실행할 수 있게 해줍니다.

 

또한, 도커는 이미지(Image)라는 것을 사용하여 애플리케이션을 컨테이너로 패키징합니다. 이미지는 애플리케이션 실행에 필요한 모든 종속성과 설정 등을 포함한 불변의 템플릿이며, 이를 사용하여 다양한 컨테이너를 만들고 배포할 수 있습니다.

 

 

https://www.docker.com/

 

Docker: Accelerated, Containerized Application Development

Docker is a platform designed to help developers build, share, and run modern applications. We handle the tedious setup, so you can focus on the code.

www.docker.com

 

 

도커는 리눅스 , windows 등 플랫폼을 지원한다.

 

필자는 포괄적인 리눅스 환경을 택했다.

 

 

https://docs.docker.com/engine/install/ubuntu/

 

Install Docker Engine on Ubuntu

 

docs.docker.com

 

본인은 우분투환경에서 사용하는 도커를 택했다.

 

 

 

우분투 터미널에   1 , 2, 3 스텝을  Copy && Paste 하고 실행한다.

 

 

그 다음  Docker Engine을 설치한다.

 

1번과 2번 코드를  Copy&&Paste 한다.

 

3번은 docer engine이 잘 실행되는지 테스트하는 코드이니 안해도 무방하다.

 

 

 

 

------------------------------------------------------------------------------------------------------------

 

도커 컨테이너 만들어보기

 

우선 사전작업으로,  기본유저가 도커를 다룰수 있게 도커 권한을 준다.

 

sudo usermod -aG docker $USER

 

$USER에 본인의 계정명을 입력하면 도커를 다룰수 있다.

 

 

 

 

1. hello.js 작성하기

 

컨테이너에 담을 hello.js 작성해보려고한다. 

 

 

이렇게 작성하자.

 

코드는  8080번을 열어  호스트이름을 출력해주는 코드다.

 

 

2.dockerfile작성

 

컨테이너를 만들기위한 도커 파일이다.

 

FROM :  파일을 실행할 플랫폼이름을 설정하는 base image

COPY:  [카피할 파일] / [컨테이너의 위치]

CMD :  실행할 명령어  

 

 

3. Docker Images 빌드하기

 

docker build -t {tag 이름} {도커 파일경로}

 

그래서 필자는  dokcer build -t hello.js . 를 작성했다.

 

태그이름은 hello.js ,  도커 파일경로는 "." 로 현재 디렉토리를 설정했다.

 

 

 

잘 입력했으면, 

 

docker images 커맨드로 확인이 가능하다.

 

 

이렇게 태그를 입력해야지 나중에 삭제할때 태그로 편하게 삭제할수있다.

 

태그를 입력안하면 <NONE> 으로 입력되어져가지고 나중에 삭제할때 불편하다. 

 

 

4. Docker images 실행하기

 

docker run -d  -p {포트:바인딩} --name {컨테이너 이름}  {실행할 도커이미지}

 

그래서 필자는

docker run -d -p 8080:8080 --name web hello.js 

 

이렇게 작성하였다.

 

 

실행이 잘된다면,  

 

다음과같은 코드를 입력해보자. 

 

curl localhost:8080

 

잘 나오는게 보인다.

 

커맨드로 보는게 좀 탐탁치 않으면,  우분투 GUI 환경에 가서도 확인해보자.

 

 

우분투 파이어폭스에서 localhost:8080 입력하니 잘나온다.

 

 

 

5. 컨테이너  docker hub에 저장하기

 

 

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.

hub.docker.com

 

 

여기서 회원가입을 진행한다.

 

 

회원가입을 진행후, 리눅스 터미널에   docker login 명령을 친다.

 

name , password를 입력한뒤,  로그인을 완료하자.

 

 

로그인은 완료한뒤,   docker push {생성한 tag}  를 입력한다.

 

 

 

반응형