Docker 사용해보기
도커(Docker)는 컨테이너 기반의 가상화 플랫폼입니다. 컨테이너는 애플리케이션과 그 애플리케이션이 실행될 때 필요한 모든 종속성을 포함하는 라이브러리와 함께 패키징된 소프트웨어 유닛입니다.
도커는 애플리케이션을 컨테이너로 패키징하고, 각각의 컨테이너에서 애플리케이션을 실행할 수 있도록 해줍니다. 이러한 컨테이너 기반의 가상화는 다양한 운영 체제와 환경에서도 애플리케이션을 동일하게 실행할 수 있게 해줍니다.
또한, 도커는 이미지(Image)라는 것을 사용하여 애플리케이션을 컨테이너로 패키징합니다. 이미지는 애플리케이션 실행에 필요한 모든 종속성과 설정 등을 포함한 불변의 템플릿이며, 이를 사용하여 다양한 컨테이너를 만들고 배포할 수 있습니다.
도커는 리눅스 , windows 등 플랫폼을 지원한다.
필자는 포괄적인 리눅스 환경을 택했다.
https://docs.docker.com/engine/install/ubuntu/
본인은 우분투환경에서 사용하는 도커를 택했다.
우분투 터미널에 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에 저장하기
여기서 회원가입을 진행한다.
회원가입을 진행후, 리눅스 터미널에 docker login 명령을 친다.
name , password를 입력한뒤, 로그인을 완료하자.
로그인은 완료한뒤, docker push {생성한 tag} 를 입력한다.