본문 바로가기

전체 글

도커 없이 컨테이너 만들기 - 8 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/378 도커 없이 컨테이너 만들기 - 70. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/377 도커 없이 컨테이너 만들기 - 60. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/376 도커 없이 컨테이너 만들기 - 50. 개요ksb-dev.tistory.com 이 글에서는 Cgroups(Control Group)에 대해 알아보겠습니다.Cgroups는 그룹별로 자원 분배 및 limit 내에서 동작하도록 강제하는 커널 모듈입니다.실행중인 프로세스를 논리적으로 그룹화하고, 각 그룹마다 리소스 분배 및 제한합니다. 1. 실습 준비sudo -Es.. 더보기
도커 없이 컨테이너 만들기 - 7 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/377 도커 없이 컨테이너 만들기 - 60. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/376 도커 없이 컨테이너 만들기 - 50. 개요이 글은 아래 글과 이어집니다.리눅스에서는 일반 디렉토리를 피봇(Pivot)을 통해 루트 파일시ksb-dev.tistory.com  chroot와 pivot root는 전용루트시스템입니다.하지만, 아래와 같은 문제점이 있습니다.컨테이너에서 host의 다른 컨테이너가 보임컨테이너에서 host 포트 사용컨테이너에 루트 권한 존재 pivot root에서 mount namespace가 처음 사용 되면서 네임스페이스가 등장했습니다.네임스페이스는 프로세.. 더보기
도커 없이 컨테이너 만들기 - 6 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/376 도커 없이 컨테이너 만들기 - 50. 개요이 글은 아래 글과 이어집니다.리눅스에서는 일반 디렉토리를 피봇(Pivot)을 통해 루트 파일시스템으로 전환할 수 있습니다. 하지만, 루트 파일시스템에는 bin, lib, etc 등 시스템 동작에 중ksb-dev.tistory.com  이전 글에서 pivot_root를 활용한 격리는 리소스 중복 문제가 있다는 것을 알 수 있었습니다.이글에서 다루는 오버레이(Overlay) 파일시스템을 통해 위 문제를 해결할 수 있습니다. 오버레이는 여러 레이어를 중복해서 하나의 시스템을 만드는 방법입니다.Lower 레이어는 ReadOnly로 변경이 발생하지 않습니다.Upper 레이어는.. 더보기
도커 없이 컨테이너 만들기 - 5 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/375 도커 없이 컨테이너 만들기 - 40. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/374 도커 없이 컨테이너 만들기 - 30. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/373 도커 없이 컨테이너 만들기 - 20. 개요ksb-dev.tistory.com  리눅스에서는 일반 디렉토리를 피봇(Pivot)을 통해 루트 파일시스템으로 전환할 수 있습니다. 하지만, 루트 파일시스템에는 bin, lib, etc 등 시스템 동작에 중요한 폴더들이 마운트 되어있습니다.따라서, 함부로 루트 파일시스템을 바꾸게 되면 시스템 자체에 문제가 발생할 수.. 더보기
도커 없이 컨테이너 만들기 - 4 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/374 도커 없이 컨테이너 만들기 - 30. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/373 도커 없이 컨테이너 만들기 - 20. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/372 vm에 접속한 상태여야 합니다.vagrant sshksb-dev.tistory.com 이제까지 chroot를 사용하면 자원을 격리 시킬 수 있다는 것을 알게 되었습니다.아래 글에서는 docker image를 chroot로 실행하는 방법과 chroot를 사용하면 안되는 이유에 대해 설명하겠습니다. 1. Nginx Docker Image를 chroot로 실행하.. 더보기
도커 없이 컨테이너 만들기 - 3 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/373 도커 없이 컨테이너 만들기 - 20. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/372 vm에 접속한 상태여야 합니다.vagrant ssh그리고 관리자 상태로 변경 후 tmp 파일을 만듭니다.# 관리자로 변경sudo -Es# tmp 파일 생성후 이ksb-dev.tistory.com  아래 내용은 chroot를 사용합니다.chroot란, 프로세스의 루트 디렉토리를 변경하여 해당 디렉토리 밖으로 벗어나지 못하게 합니다. 1. chroot해서 sh 실행하기우선 이전에 만든 tmp 파일 밑에 myroot 폴더를 만듭니다.cd /tmpmkdir myroot chroot의 명령어.. 더보기
도커 없이 컨테이너 만들기 - 2 0. 개요이 글은 아래 글과 이어집니다.https://ksb-dev.tistory.com/372 도커 없이 컨테이너 만들기 - 1이 글은 mac m3로 아래 카카오 세션을 실습하며 작성했습니다.https://if.kakao.com/2022/session/104 if(kakao)dev2022함께 나아가는 더 나은 세상if.kakao.com 0. 개요이 실습을 하기 위해서 vagrant와 qemu를 설치해ksb-dev.tistory.com  vm에 접속한 상태여야 합니다.vagrant ssh그리고 관리자 상태로 변경 후 tmp 파일을 만듭니다.# 관리자로 변경sudo -Es# tmp 파일 생성후 이동mkdir tmpcd tmp  1. VM에서 도커 실행하기docker의 busybox를 실행합니다.docker.. 더보기
도커 없이 컨테이너 만들기 - 1 이 글은 mac m3로 아래 카카오 세션을 실습하며 작성했습니다.https://if.kakao.com/2022/session/104 if(kakao)dev2022함께 나아가는 더 나은 세상if.kakao.com 0. 개요이 실습을 하기 위해서 vagrant와 qemu를 설치해야 합니다.💡 Vagrant란? Virtualbox와 같은 가상 환경 플랫폼에 가상 머신 생성과 같은 프로비저닝을 쉽게 할 수 있는 도구입니다. 사용할 vagrant와 qemu를 brew로 설치합니다.# vagrant 설치brew install vagrant --cask# qemu 설치brew install qemu# plugin 설치vagrant plugin install vagrant-qemu 1. Vagrantfile아래 링크.. 더보기