출처: https://meyouus.tistory.com/64 [정보 공유 - For Me For You For Us]
본문으로 바로가기

다음의 Qwiklabs 과정을 거치면서 모르던 내용들 그리고 배웠던 내용들에 대해 써보았다:

  • Introduction to Docker

출처: <https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC:Docker_(container_engine)_logo.svg>

 

우선, 저 과정을 거치면서 모르거나 새로 배운 내용들에 대한 정의를 써보도록 하겠다. 나름 나의 해석?도 들어가 있는 것이라 정확하지는 않을 수도 있으나, 최대한 찾아본 내용을 토대로 썼다.

  • Docker: An open platform for developing, shipping and running applications. In Docker, it is possible to separate applications from the infrastructure and treat the infrastructure like a managed application
  • Docker Daemon: A docker daemon is a service that runs on a host operating system. It currently runs on Linux, but there are ways to run the service on a MacOS and Windows
  • Docker Hub: Service provided by Docker for finding and sharing container images within the team → Repositiories and Builds (Like Github) exists.
  • docker ps: 컨테이너 목록을 출력하는 명령어
    • -a : 정지된 컨테이너까지 모두 출력함
    • -q : Container ID만 출력함
    • -s : Container에서 변경된 데이터의 크기를 출력함
  • UUID: Universally Unique IDentifier의 약자로, 범용 고유 식별자라고도 불린다. 네트워크 상에서 서로 모르는 개체들을 식별하고 구별하기 위한 각각의 고유한 이름을 짓는 방식
  • Bash: Bourne-again shell의 acronym이다. Ubuntu가 기본적으로 사용한다. It is poissible to use every tool on the command line for a script → 다른 shell들과는 달리 direct command to a script is possible 인듯 하다.
  • Pseudo-tty: A pair of character special files including master file and slave file , and provides a special sort of communication channel. The slave file acts like a physical terminal, and the master is as if a person is sitting in fron of a "physical terminal". Writing in master file is like writing on the terminal itself. → Used in ssh.
  • ls: ls is a command to list computer files in UNIX and UNIX-like operating systems
  • stdin: standard input의 acronym으로, 하나의 입력을 위한 input이다.
  • Node.js: Is an open source server environment where is primarily used for non-blocking, event driven servers. Used for traditional websites and back-end API services.

 

다음은 Qwiklabs를 하면서 배운 Docker의 특징들이나 중요하게 알아야할 점들을 써보겠다.

 

  • Docker에서 container을 실행시킬때, local registry에 없을 경우, docker daemon이 Docker Hub에서 image를 찾아서 실행시킨다. 이때 실행시키면서 필요한 resources들을 다운로드하는데, 다시 같은 container을 실행시키려고 할 경우, 이러한 절차들을 건너뛰고, 이제는 local registry에서 image를 찾아서 실행시킨다.
  • Docker에서 image를 빌드할때, 다음과 같은 코드를 사용한다. 여기서 이 -t 태그는 중요한데, image를 name:tag 형식으로 태깅시켜주기 위함이다. Docker images를 만들때 이러한 tagging 을 굉장히 추천한다고 하는데, 이유는 만약 태그를 하지 않을 경우, default 값인 latest로 자동 저장되어 어떤 image가 new이고 어떤게 old image인지 구분하기가 어려워진다고 한다.
docker build -t node-app:0.1