도커에서 당겨오는 이미지들은 %USERPROFILE%\AppData\Local\Docker\wsl\data\ext4.vhd 위치에 저장된다.

이 경로를 바꾸려면 WSL 이미지 경로를 변경하면 된다.

 

먼저 도커 데스크탑을 종료하자. 커멘드창에서 다음 WSL명령어를 실행하여 도커자 중단된 것을 확인한다.

내 경우 우분투가 설치되어 있었기 때문에 다음과 같이 나온다.

d:\>wsl --list -v
  NAME                   STATE           VERSION
* Ubuntu                 Stopped         1
  docker-desktop-data    Stopped         2
  docker-desktop         Stopped         2

 

중단(Stopped)된 것 확인 했으니 이제 docker-desktop-data를 파일로 뽑아내자. D:\Docker\wsl\data\ 디렉터리를 만들고 다음 명령을 실행한다.

wsl --export docker-desktop-data "D:\Docker\wsl\data\docker-desktop-data.tar"

 

이제 WSL에서 VHD 이미지를 등록해제 한다.

wsl --unregister docker-desktop-data

그러면 %USERPROFILE%\AppData\Local\Docker\wsl\data\ext4.vhd가 삭제된다.

 

이제 다시 tar파일로 부터 새로운 위치에 VHD를 만들자.

wsl --import docker-desktop-data "D:\Docker\wsl\data" "D:\Docker\wsl\data\docker-desktop-data.tar" --version 2

 

이제 다시 도커를 시작하면 된다.

 

NginX(원글: NGINX as a web server)

  • C10K 이슈를 아파치로 해결하기 보다는 이벤트 드리븐, 비동기 구조로 해결해 보고자 하는 시도
  • 러시아 개발자 Igor Sysoev에 의해 시작 2004년
  • 다양한 기능: 리버스 프록시, 로드 밸런스, HTTP 캐시, 메일 프록시
  • 설계시 방점
    • 고성능: 빠른 속도
    • 낮은 리소스 사용량: 메모리 효율
    • 동시성(concurrency) 높게
  • 아파치는 prefork 모드로 설정: 설정에 프로세스 생성갯수를 두고 미리 프로세스를 생성한 다음, 특정 시점에 단일 요청을 프로세스 하나가 전담하는 구조. 
  • NginX는 비동기로 요청을 처리. 단일 프로세스가 동시에 여러개의 요청을 처리. 프로세스가 사용할 수 있는 시스템 리소스에 의존. 이런 구조를 만들면서 PHP류의 서버사이드 프로그래밍 언어를 프로세스에 넣을 수 없게 됨. 동적 콘텐츠를 생성하는 요청을 다루기 위해서는 PHJP-FPM(FastCGI 프로세스 관리자) 같은 별도 프로세스를 반드시 관리해야 하고, NginX는 클라이언트에게 다시 리버스 프록시 역할을 수행하게 하는 구조로 짤 수 밖에 없음. 반대로 아파치는 리소스를 더 많이 사용하기는 하지만 스크립트 언어를 더 빨리 실행할 수 있는 구조를 가지고 있음.
  • NginX는 인입 요청을 URI 위치로 해석하고, 아파치는 파일시스템 위치로 해석. URI로 해석하다 보니 웹서버 기능 뿐만 아니라 로드 밸런서 역할이나 메일 서버, HTTP 캐시로 활용이 가능해 졌다.
  • 글쓴이는 정적파일을 서빙하는 용로도 NGinxX를 사용하고(리버스 프록시 모드로) 아파치는 동적 콘텐츠 용도로 서비스 하는 구조를 제안. 개인적으로는 반대 구성을 사용해 왔었는데, 위 내용을 기반으로 보면 이 제안이 좀 더 합리적인 구성 같아 보임.

 

HTTP Toolkit

  • https://httptoolkit.tech/      
  • HTTP(S) 통신을 가로채서 볼 수 있고, 엔드포인트 목업을 할 수 있는 툴
  • PostMan이나 피들러 대체할 수 있을 것으로 보임.
  • 무료 버전과 프로버전으로 나뉨.
  • 프로버전은 HTTP 모킹이 좀 더 다양하게 지원, 프록시 8000번으로 동작
  • 관련 오픈소스: https://github.com/httptoolkit/mockttp

 

애자일 안한 이야기

  • 설계 활동으로서의 코딩, 
  • 사업과 개발의 밀착도
  • 팀이 정말 팀인가? 유용한 소프트웨어를 만들어 내기 위한 조직 구조인가? 업무 목표와 KPI  등
  • 자율적 팀: 목적은 알려주고(Why), 해법은 같이 논의하고(How), 구체화 방법(What)은 알아서
  • Incremental < Iterative < evolutionary
  • 매번 의미있는 가치를 고객에게 전달하자. 일을 최소한의 의미있는 단위로 만드는 연습
  • 우선순위가 바뀌어 지금하는 일이 중단되어도 버려지는 작업을 최소화하자
  • 일이 일을 만들게 하지 말자. 딱 필요한 만큼 하자.
  • 소프트웨어 개발의 더 나은 방법을 찾아가는 고민이 중요

프리 사운드

블록체인 학습 자료

  • 우선 링크 공유: 링크
  • 고대 정보보호대학원 김승주 교수 강의 자료. 이건 따로 정리해 보자

디자인 시스템

 

+ Recent posts