Infra/컨테이너
-
Docker 외부 이미지의 사용& 실행Infra/컨테이너 2022. 8. 13. 18:17
Container는 이미지를 기반으로 한다. 실제로 Container를 실행 할 수 있도록 이미지를 생성하고, 가져오는 두가지의 방법이 존재한다. 1.이미 존재하는 이미지를 사용하는 것이다. 동료에 의해 구축된Image(Custom) 일반적이여서 미리 구축된 공식 Image 커뮤니티에서 공유한 Image Docker Hub 도커 허브에서 찾을 수 있는 위와 같은 노드 이미지는 누구나 사용할 수 있으며, NodeJS 공식 팀에서 배포, 생성, 유지, 관리한다. Docker Hub에서 공식 image run 하기 docker run node 위 와 같이 터미널에 명령어를 입력하고 엔터를 누르면 자동으로 도커 허브에서 Image를 가져온다. 이제 도커 허브에서 최신 노드 이미지를 다운로드하고 컴퓨터에 다운로드..
-
Docker Images & ContainersInfra/컨테이너 2022. 8. 13. 13:46
Containers 컨테이너는 결국 애플리케이션, 웹사이트, 노드 서버 혹은 애플리케이션을 실행하는 전체 환경 등등 무엇이든 포함하는 작은 패키지이다. 즉, 컨테이너에는 소프트웨어 실행 유닛이 존재한다. 결국 그 유닛을 Container를 사용하는 입장에서 실행하게 된다. 도커로 작업할 때, Image라는 dissolver 개념도 필요하다. Image는 템플릿, 즉 Container의 블루 프린트가 될 것이기 때문이다. 또한 이미지는 실제로 코드와 코드를 실행하는데 필요한 도구를 포함 한다. 이런 준비된 Image를 바탕으로 컨테이너가 실행되고 그때 작성된 코드가 실행 되게 한다. *dissolver : 용해[분해, 분리]기 장치 우리는 모든 설정과 명령 코드가 포함된 이미지를 한번에 생성할 수 있다. ..
-
Virtual Machine vs Docker ContainerInfra/컨테이너 2022. 7. 24. 09:30
Virtual Machines/ Virthal Operating system 같은 개발환경을 제공하는 문제는 Vitual Machine으로 도 해결할 수 있는 것 아닐까? * Vitual Machine: 호스트 운영체제에 독립적인 자체 셀(Shell)을 지닌 캡술화된 가상의 운영체제를 지닌 솔루션을 의한다. Virtual Machine을 사용한다는 것은 호스트 운영체제, 즉 Windows 또는 macOS 또는 Linux가 있고, 그 위에 Virtual Machine을 설치한다는 것이다. 말하자면 컴퓨터 내부의 컴퓨터이다. Virtual Machine에는 내부에서 실행되는 자체 운영체제가 있다. 예를 들어 Linux라고 해보자 그런 다음 이 Virtual Machine은 컴퓨터와 같기 때문에 Virtual..
-
Docker란?Infra/컨테이너 2022. 7. 23. 20:48
Docker 표준화된 소프트웨어 유닛이다. 더 자세히 말하자면, 이는 코드의 패키지를 의미한다. 이 안에는 해당 코드를 실행하는데 필요한 종속성과 tool들이 포함되어 있다는 것이 중요하다. 예) Node.js 애플리케이션을 구축하는 경우 => NodeJS는 서버에서 JavaScript 코드를 실행하는데 사용할 수 있는 JavaScript RunTime이다. NodeJS와 도커로 컨테이너로 빌드된 애플리케이션이 있는 경우 그 컨테이너에는 애플리케이션 소스 코드 뿐만 아니라, NodeJS Runtime 더불어 소스 코드를 실행하는데 필요한 기타 tool들이 있을 것이다. 도커 컨테이너를 활용한 것의 장점은 특정 도커 컨테이너에 애플리 케이션을 빌드한 경우 그 컨테이너는 항상 동일한 NodeJS 코드, 동일..
-
docker에 대한 기본 이해Infra/컨테이너 2022. 5. 1. 19:56
docker 프로세스 window macOS Linux 맨 처음 도커를 사용하기 위해서, 도커 관련한 프로그램을 설치했다. 심지어 linux에서는 해당 docker가 떠 있는지 확인을 했다. 물론 mac이나 window에서도 꼭 프로그램이 떠있어야 docker command가 먹힌다. docker command는 일종의 클라이언트라고 이해하면 된다. => 데몬 프로세스 형태로 동작 데몬 프로세스 프로그램이 떠있는 상태에서 docker command를 실행하면, 그 명령이 떠 있는 docker 데몬 프로세스에 전달이 되서, docker에 기능이 동작을 한다. docker command를 내리면, 결국 내부적으로 Rest API를 사용해서, docker deamon process를 호출하는 방식 docker..
-
리눅스에 Docker /Docker-Compose설치하기Infra/컨테이너 2022. 5. 1. 19:28
ubuntu 20.04 에서, docker 설치하기 1. 최신 패키지 리스트 업데이트 sudo apt update 2. docker 다운로드를 위해 필요한 https 관련 패키지 설치 sudo apt install apt-transport-https ca-certificates curl software-properties-common 여기 까지는 프로그램을 설치하는 것이다. https://download.docker.com/linux/ubuntu/gpg 서버에 접속을 해서 docker라는 프로그램을 다운로드 받아야 하는데, 위 서버에 접속을 하려면 https 라는 프로토콜(기능)을 지원을 해야한다. 2번 과정에서 설치한 프로그램이 주로하는 역할은 앞서 언급한 프로토콜을 지원하기 하는 것이다. 3. doc..
-
Docker - 호스트와 컨테이너의 파일 시스템 연결Infra/컨테이너 2022. 4. 29. 14:55
이전 시간에는 docker안에 있는 파일을 직접 수정했다. 하지만 그런 방식은 불편하고 위험한 상황을 유발 시킬 수 있다. 예를 들어 docker에 File System 안에 있는 indexhtml 파일을 직접 수정했다고, 가정 해보자 그런데, Container가 사라졌다면, 작업한 내용이 물거품이 된다. 물론 Container를 사라지지 않게 하면 되겠지만, Container를 사용하는 이유는 필요할 때는 언제든지 생성했다가 필요없으면 언제든지 지울수 있다는 이점 때문이다. 이렇게 하면 어떨까? Container - /usr/local/apache2/htdocs/ Host - /Desktop/htdocs 두 개를 연결하고, Host쪽에 수정이 이루워졌을 때 그것이 Container의 File Syste..
-
Docker - 네트워크Infra/컨테이너 2022. 4. 29. 10:40
Port의 LocalHost같은 경우는 Host 컴퓨터의 몇번 port로 들어왔을 때, Container의 80port로 보낼지 지정하는 것이다. Container Port와 같은 경우는 image를 만드는 사람이 image에 설치된 프로세스에 접속할 때는 80port로 접속해야 한다고 설정을 해둔 것이기 때문에 80port로 되어있는 것이다. Commad 환경에서 Container를 run할 때 docker run [OPTIONS] IMAGE [COMMAND] [ARG......] docker run --name [CONTAINER_NAME] -p [HOST_PORT]_[CONTAINER_PORT] [IMAGE_NAME] Options --publish, -p : Publish a container's..