Cloud/Container
-
Docker 컨테이너에서의 파일시스템의 격리 확인 실습Cloud/Container 2024. 8. 7. 08:11
Docker 컨테이너에서 파일을 쓰고, 그 변화가 호스트 서버의 파일 시스템에서 어떻게 관리되는지 확인할 수 있는 예제를 만들어보겠습니다. 이 예제에서는 OverlayFS를 사용하여 파일 시스템의 Diff, Upper, Merged 레이어를 확인합니다.실습 단계Docker 설치 확인Docker가 설치되어 있는지 확인합니다. 설치되어 있지 않다면 Docker 설치 가이드를 참고하여 설치합니다.간단한 Docker 컨테이너 실행터미널을 열고 다음 명령어를 실행하여 alpine 이미지를 사용한 간단한 컨테이너를 실행합니다.docker run -it --name test-container alpine컨테이너 내에서 파일 생성컨테이너 내에서 test-file.txt라는 파일을 생성하고 내용을 작성합니다.echo "..
-
Docker cgroup v2 및 namespace 실습 가이드 (Ubuntu 24.04)Cloud/Container 2024. 8. 6. 23:48
이 실습을 통해 Ubuntu 24.04 환경의 Docker 컨테이너에서 cgroup v2와 namespace의 실제 구현을 살펴볼 수 있습니다.준비 사항Ubuntu 24.04 LTSDocker 설치root 권한 또는 sudo 권한1. cgroup v2 살펴보기Cgroup(Control Group)은 리눅스 커널에서 프로세스와 자원을 관리하기 위한 메커니즘입니다. cgroup v2는 기존의 cgroup v1의 단점을 개선하고 더 일관된 인터페이스를 제공하기 위해 설계된 최신 버전입니다. cgroup v2의 주요 특징과 개선점은 다음과 같습니다.Cgroup v1커널 버전별 Cgroup 기능Cgroup v2주요 특징단일한 계층 구조cgroup v2는 단일한 계층 구조를 사용하여 모든 컨트롤러를 통합합니다. 이..
-
docker run 명령으로 띄운 컨테이너가 프로세스 임을 확인할 수 있는 실습Cloud/Container 2024. 8. 6. 13:01
Docker 컨테이너가 호스트에서 실행되는 프로세스임을 확인할 수 있는 실습입니다. 이 실습에서는 간단한 Docker 컨테이너를 실행하고, 그 컨테이너가 실제로 호스트의 프로세스로 나타나는지 확인하는 과정을 다룹니다.실습 단계Docker 설치 확인먼저 Docker가 설치되어 있는지 확인합니다. 설치되어 있지 않다면 Docker 설치 가이드를 참고하여 설치합니다.이전 버전 지우기 for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done도커 리포지토리 등록# Add Docker's official GPG key:sudo apt-ge..
-
Docker 이미지를 수정하여 Docker Hub로 푸시하는 실습.Cloud/Container 2023. 2. 13. 00:35
기존 이미지를 가져와 수정하고 자신의 저장소에 푸시하는 Docker Hub을 사용하는 실습의 단계별 가이드입니다: 1. Docker Hub 계정 만들기 및 로그인 Docker Hub 계정이 없다면 계정을 만듭니다. 계정 정보로 Docker Hub에 로그인합니다. 2. 기존 이미지 검색 수정할 기존 이미지를 Docker Hub에서 검색합니다. 예를 들어, 공식 Nginx 이미지를 검색할 수 있습니다. 3. 이미지 다운로드 docker pull 명령을 사용하여 이미지를 로컬 컴퓨터에 다운로드합니다. 예를 들어, Nginx 이미지를 다운로드하려면 다음 명령을 실행합니다: docker pull nginx 4. 이미지 수정 기존 이미지를 수정하는 새로운 Dockerfile을 작성합니다. 예를 들어, 웹 서버에서 ..
-
Docker를 사용하여 간단한 웹 애플리케이션을 만드는 단계별 실습Cloud/Container 2023. 2. 12. 23:03
사전 요구 사항Docker가 설치되어 있고 실행 중인 컴퓨터Dockerfile 문법 알아보기커맨드의미FROM베이스 이미지 지정RUN베이스 이미지에 새로운 레이어를 추가해 커맨드를 실행하고 결과를 빌드 이미지에 반영CMD컨테이너 시작시 실행할 커맨드 설정LABEL이미지에 레이블 지정EXPOSE컨테이너에서 노출하는 포트 번호 설정ENV환경 변수 설정ADD이미지에 파일 복사COPY이미지에 파일 복사ENTRYPOINT컨테이너 시작시 실행할 커맨드 설정VOLUME볼륨이 마운트 될 위치 설정USER커맨드를 실행할 때 사용자 ID 설정WORKDIR커맨드를 실행할 때 작업 디렉터리 설정ARG빌드 시에만 사용되는 변수 설정ONBUILD이 이미지를 베이스로 빌드할 때 커맨드가 실행되도록 하기STOPSIGNAL컨테이너를 중..
-
chroot 명령어로 도커 컨테이너와 유사한 환경을 만들어보는 실습Cloud/Container 2023. 2. 7. 22:49
chroot 명령을 사용하여 Docker 컨테이너와 유사한 환경을 만들어보면 컨테이너가 작동하는 원리를 기본적인 수준에서 쉽게 이해할 수 있습니다. 이 핸즈온을 통해 다음 개념을 배울 수 있습니다: 파일 시스템 네임스페이스 chroot 명령을 사용하면 파일 시스템의 루트 디렉터리를 변경하고 별도의 네임스페이스를 만들 수 있습니다. 이는 컨테이너가 호스트 시스템에서 파일 시스템을 격리하는 방법과 유사합니다. 프로세스 격리 루트 환경 내에서 프로세스를 실행한다는 것은 호스트 시스템에서 프로세스가 격리된다는 것을 의미합니다. 이는 컨테이너가 격리된 프로세스를 실행하는 방식과 유사하며, 독립된 환경을 만들 수 있습니다. 리소스 제어 chroot 명령을 사용하여 디스크 공간, 네트워크 연결, CPU 사용량 등 격..