분류 전체보기
[Linux] UTS namespace 맛보기
UTS namespace 맛보기 컨테이너 공부를 하다가 네임스페이스라는 부분이 재밌어서 다양한 네임스페이스에 대해서 공부중입니다. 그 중 UTS 네임스페이스는 컨테이너마다 호스트네임을 부여할 수 있는 특징을 가집니다. 또한 네트워크 네임스페이스를 통해 네트워크 인터페이스 격리도 할 수 있습니다. 테스트 환경은, Vagrant 2.2.14 ubuntu/bionic64 box 컨테이너가 호스트네임을? IP를? 실제로 가상 머신이 아니라 프로세스로 다루는 컨테이너가 고유한 호스트네임을 가지면서, 가상 네트워크 인터페이스와 컨테이너만을 위한 내부 IP를 가지는게 아주 신기했습니다. 간단하게 nginx 컨테이너를 띄우고 $ docker run --name nginx01 -d nginx:latest $ docker..
[Golang][Algo] Python으로 코딩하고 Go로 한번 더 풀기 -2- Trapping Rain Water
파이썬 알고리즘 인터뷰 책을 기반으로 풉니다. 파이썬 코드를 기반으로 Go언어로 한번 더 풉니다. LeetCode - trapping rain water Pseudo code 1. 각 인덱스마다 높이를 담는 Stack 생성, 물이 찬 용량 변수 생성 2. 전체 배열 크기만큼 Loop 2-1. 변곡점을 만나면 2-1-1. 스택에서 꺼낸다 (Pop) 2-1-2. 만약 Stack이 비어있으면, 한쪽이 없는 버킷형태 (즉,상향선 혹은 하향선이 하나만 있는 모양이다.) -> 루프 탈출 2-1-3. 이전과의 차이만큼 물 높이 처리하고 물 찬 용량에 더한다. 2-2. 변곡점이 아니면 Stack에 인덱스값을 쌓는다. 3. 물이 찬 용량 return Code package main import ( "fmt" "math"..
[Golang][Algo] Python으로 코딩하고 Go로 한번 더 풀기 -1 ThreeSum
파이썬 알고리즘 인터뷰 책을 기반으로 풉니다. 파이썬 코드를 기반으로 Go언어로 한번 더 풉니다. LeetCode - 3Sum pseudo code - i : 기준 포인터 / left, right : 가변 포인터 1. 입력 슬라이스를 정렬합니다. 2. 중복 수가 있으면 끝 수까지 이동하고 끝 수를 기준포인터로 합니다. 3. i를 슬라이스의 크기 -2 만큼 반복합니다. (이유 : 3개의 포인터 사용) 3-1. i를 기준으로 다음 수를 left, 슬라이스의 끝 수를 right로 합니다. 3-2. left가 right보다 작을 조건으로 반복 3-2-1. 세수의 합을 구합니다. 3-2-2. 합이 작으면 left를 우측으로 한칸, 크면 right를 좌측으로 한칸, 같으면 다른 슬라이스에 세수를 넣습니다. 3-2-..
[Docker] Github Container Registry Open!!
작년 9월 1일에 베타버전을 진행했던게 (소식만 알고있었다.....ㅇㅅㅇ) 오늘 오랜만에 Github을 가보니 정식지원을 하게된것같다. 관련 Officail Github Docs도 있고, GItub에서 새로운 오픈을 맞이하듯 profile창에 파란색 알림이 떴다. 예전에 (요즘 아주 많은 도움을 받고 있는 사이트)44bits에서 소개한 글에 대한 링크를 남긴다. 깃허브 컨테이너 레지스트리(GitHub Container Registry) 베타 오픈 및 사용법 깃허브(GitHub)에서는 9월 1일 새로운 컨테이너 이미지 저장소 깃허브 컨테이너 레지스트리(GitHub Container Registry)를 발표하였습니다. 깃허브에서는 이미 깃허브 패키지 레지스트리 서비스를 통해 www.44bits.io 개인적으..
[Docker] Docker Image Stored Path / Docker.raw?
Ubuntu: /var/lib/docker/ Fedora: /var/lib/docker/ Debian: /var/lib/docker/ Windows: C:\\ProgramData\\DockerDesktop MacOS: ~/Library/Containers/com.docker.docker/Data/vms/0/ Docker Image Layer를 확인할 때 필요하다. (일단 현재까지는!) Linux에서의 Docker Image Layer가 설치되는 것과 MacOS에서는 달랐다. 즉, 참조중인 44bits.io - 만들면서 이해하는 도커(Docker) 이미지의 구조에서의 Linux 환경에서 Image Layer Test는 다음과 같았다. $ pwd /var/lib/docker/image/overlay2/lay..
[Docker] Container vs Process
변역알림 아래 포스팅 내용은 google site의 techincal Collection 작성자가 이해하기 쉽게 번역하였음을 알립니다. 들어가기 앞서, Container vs VMs 가상머신에서 VM은 자체 메모리 관리, 장치 드라이버, 데몬 등이 포함 된 전체 OS로 구성됩니다. 반면 Container는 호스트의 OS를 공유하므로 무게가 더 가볍습니다. Container vs Process 더 흥미로운 비교는 Container과 Process 간의 비교입니다. Container는 실제로 전체 환경을 갖춘 프로세스입니다. 일반적으로 프로세스는 자체 주소 공간 + 프로그램 + CPU 상태 및 프로세스 테이블 항목을 가지고 있는 것으로 정의됩니다. 그러나 오늘날의 소프트웨어 환경에서는 이것이 더 이상 온전한..