OS

    [Docker] Docker이해하기6. Docker image를 tar파일로 save/load

    Docker image는 대부분 Docker hub에서 Push하고 Pull하는 방식으로 사용하지만 필요한 경우에는 Docker image를 registry를 거치지 않고 이동이 필요한 경우가 있다. 이 때 docker Image를 tar 파일로 만들어 이동한다. Docker image를 tar 파일로 바꾸는데는 save/load. 만약 container자체를 tar 파일로 바꾸려면 export/import 명령어를 사용한다. 1. docker save #docker save [옵션] ooo.tar [이미지명] docker save -o rabo_clova.tar rabo_clova/ubuntu 이렇게 만들어진 Image tar파일을 Usb와 같은 매체로 이동해서 다른 pc에서 해당 docker imag..

    [Docker] Docker이해하기5. docker image 만들어보기 2

    2021/01/07 - [Operating System/Docker] - [Docker] Docker이해하기4. docker image 만들어보기 1 [Docker] Docker이해하기4. docker image 만들어보기 1 미션: Docker image를 다운받아서 컨테이너를 실행 필요한 라이브러리를 설치해서 실험환경을 구축해보자 내가 구축하고자 하는 실험 환경 torch>=1.6.0 torchaudio>=0.6.0 numpy scipy scikit-learn tqdm pyyaml.. rabo0313.tistory.com 앞 포스팅에 이어서 Docker image 만들기 내가 구축하고자 하는 실험 환경 torch>=1.6.0 torchaudio>=0.6.0 numpy scipy scikit-learn..

    [Docker] Docker이해하기4. docker image 만들어보기 1

    미션: Docker image를 다운받아서 컨테이너를 실행 필요한 라이브러리를 설치해서 실험환경을 구축해보자 내가 구축하고자 하는 실험 환경 torch>=1.6.0 torchaudio>=0.6.0 numpy scipy scikit-learn tqdm pyyaml 이 실험환경을 하나의 image로 만들어보자! 도커에서는 하나의 이미지를 저장소 repository라고 부른다 Push : image 업로드 pull : image 다운로드 diff : Image 차이 확인 commit : 새로운 Image 생성 1. Docker hub에서 image 검색 Docker hub는 Git hub처럼 사용자들이 이미지들을 오픈해서 사용자 간에 필요한 이미지를 공유할 수 있는 공간이다. 내가 필요한 image를 검색해서..

    [Docker] Docker이해하기3. 도커 이미지(image)

    컨테이너, 이미지 뜻이 뭐지? 컨테이너는 앞서 말했듯 내가 사용하고 싶은 실험 환경이 구축되어 있는 프로세스라고 생각하면 된다. 쉽게 설명하면 나는 어떤 2가지 프로젝트를 진행 중이다. 1. Linux(Ubuntu) 환경의 Python2, pytorch(1.6.0), numpy가 필요한 프로젝트 1 2. Linux(Centos)환경의 Python3, pytorch(1.7.1)가 필요한 프로젝트 2 이 두가지가 있다고 하고, 또 이 프로젝트들을 배포해야 한다고 할 때, 각 프로젝트에 필요한 실험 환경을 각 프로젝트의 팀원들과 공유해야 한다면, 같은 실험 환경 구축할 수 있도록 이 컨테이너를 이미지를 통해서 배포하고 실행하기도 하고, 본인 스스로도 각 컨테이너에서 서로 독립된 공간에서 버전 충돌 없이 깔끔하..

    [Docker] Docker이해하기2. 도커 컨테이너 (Docker container) vs VM

    Docker container vs VM 가상머신(VM)과의 차별점에 집중해서 알아보자. 사실상 Docker container와 Virtual machine의 비교가 아니라, 엄밀히 말하면 Container와 VM을 비교해야 맞는 개념 가상머신은 운영체제 위에 하드웨어를 에뮬레이션하고 그 위에 운영체제를 올려 프로세스를 실행하는 방식으로 가상화 환경을 제공한다. 훨씬 강력하게 격리되기 때문에 host와는 분리된다고 봐도 될 정도이다. 이에 반해, Docker container는 하드웨어 에뮬레이션이 없고, 리눅스 커널을 공유해서 프로세스를 실행한다고 생각하면 된다. 더 자세히 말하면, 앞의 Docker 이해하기1에 나왔던 서버 관리방법 중에 VM은 전가상화방법에 해당하고, container는 반가상화방법..

    [Docker] Docker이해하기1 . 가상화 개념

    가상화 클라우드의 기술 원천이라고 할 수 있는 가상화는 물리적인 하드웨어(HW) 장치를 논리적인 객체로 추상화하는 것이다. 쉽게 말하면, 일반적으로 우리는 컴퓨터(본체=물리적 하드웨어)를 사용할 때 OS가 필요하다. 그럼 내가 OS 1개를 실행하려면 컴퓨터 1대가 필요하다. 즉 내가 리눅스도 사용하고 싶고 윈도우도 사용하고 싶은 사용자 입장에서 컴퓨터를 2대가 필요한 것인데 돈이 배로 든다. "가상화"를 이용하면 위와 같은 비용문제가 해결이 가능하다. 컴퓨터 한 대를 분리해서 윈도우와 리눅스 등 여러 OS를 하나의 컴퓨터(물리적 머신)에서 동시에 사용이 가능하다. 이제 OS가 필요해도 또 한대의 컴퓨터를 살 필요가 없어졌다는 것이다! 쉽게 이해하면 위와 같고, 가상화의 대상이 되는 컴퓨팅 자원에는 크게 ..