본문 바로가기

IT218

[docker] 동작원리 Linux의 namespace와 cgroup 기반으로 이루어지는데, namespace, cgroup 순으로 다루어보자. namespace 다루기 전에 다루기 전 chroot에 대해 먼저 짚고 넘어가자chroot는 namespace 나오기 전에 isolation 할 수 있는 명령어 였다.하지만 빠져나올 수 있는 방법이 있어서 이 명령어는 더 이상 사용할 이유가 없어졌다.자세한 설명은 링크에서 확인하자 namespacechroot를 대체할 수 있는 것이 나왔다.개념은 chroot와 비슷하다. 프로세스를 실행할 때 시스템의 리소스를 분리해서 실행할 수 있도록 도와주는 기능.한 시스템의 프로세스들은 기본적으로 시스템의 리소스들을 공유해서 실행되는데, 이를 단일 네임스페이스라고 봐도 무방하다. 네임스페이스는 여러.. 2024. 6. 10.
[docker] volume 배경docker conainter에 쓰여진 데이터는 기본적으로 삭제됨데이터를 유지하려면 기본적으로 2가지 방법이 있음volumebind mount Volume 생성➜ ~ docker volume create mongo-volmongo-vol➜ ~ docker volume lsDRIVER VOLUME NAMElocal mongo-vol Volume 상세정보➜ ~ docker volume inspect mongo-vol[ { "CreatedAt": "2024-06-04T05:51:38Z", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/mongo-vo.. 2024. 6. 4.
[docker] compose 기본 명령어 다루는 명령어docker-compose -f mogo-service.yaml up -ddocker-compose -f mogo-service.yaml down docker-compose -f mogo-service.yaml startdocker-compose -f mogo-service.yaml stop docker network ls docker compose 기본 개념 - a tool for defining and running multi-container apps. - simplifies the control of your entire application stack, making it easy to manage services, networks, and volumes in a single. - b.. 2024. 6. 4.
[docker] 이미지 받고 실행하기 / 빌드 후 실행하기 다루는 명령어docker pulldocker imagesdocker psdocker ps -adocker run -ddocker run -d --name node-appdocker run -d --name node-app -p {host_port}:{container_port}docker stop {container_id}docker start{container_id}docker build -t {container_name}:{tag} .docker exec -itdocker logs이미지 받기이미지는 docker hub에서 받을 수 있다. 단, 회사에서 사용하는 private registry에서도 받을 수 있다.보안상 이슈로 private registry에서 사용하는게 좋다. 회사내에서 보안팀이 검수한.. 2024. 6. 3.
[typescript] as const https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions 를 읽고 정리한 글입니다. as const를 선언하면, - string에서 'hello'로 추론됨 (아래 코드 확인) - obejct는 readonly로 설정 - array는 readonly tuples로 변경 let x = ‘hello’ // string으로 추론let x = ‘hello’ as const // hello으로 추론let y = [10, 20] // number[]으로 추론let y = [10, 20] as const // readonly [10, 20]으로 추론let z = { text: 'hello' } // { t.. 2024. 6. 3.
[linux] lsof command 개념list open files여기서 files는 우리가 통상적으로 알고 있는 파일이 아니라, computer hardware driver를 다루는 interface라고 보면 된다. 이러한 파일들은 프로세스에 의해서 사용된다. Character Device Files문자를 접근할 수 있는 장치를 표현하는 파일. 예) ternminals, serial portsex) /dev/tty50 Block Device Filesblock 단위로 데이터를 읽고 쓰는 장치를 사용할 수 있게 하는 파일ex) /dev/sda1 Pipes (FIFO)프로세스 사이에 커뮤니케이션할 수 있게 해주는 FIFO 파일ex) /tmp/mypipe Socketsnetwork 하기 위한 파일ex) TCP/IP network connect.. 2024. 6. 3.