일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 버그
- 업데이트
- AirPods
- 에어팟
- tevo
- 터치바
- mojave
- 3D프린터
- 컨트롤러
- 애플
- 아이폰
- 3D 프린터
- Linux
- high sierra
- iOS 13
- IOS
- catalina
- 맥
- 맥북프로
- asahi linux
- 정식버전
- sierra
- Mac
- 터미널
- Tarantula
- macos
- 시에라
- 모하비
- Fedora
- beta
- Today
- Total
elsa in mac
Docker 어떻게 활용하고 계신가요 ? 본문
이번 포스트에서는 개인적으로 사용하는 Docker 활용에 대해 몇 자 적어 봅니다.
Docker 장/단점
Docker를 사용하면 좋은 장점 중 최고는 단연 self-hosting 도구를 설치하는 것이 굉장히 쉽다는 점 입니다. 각 도구의 구성과 설치에 대한 사전 지식 및 기술적 방법론을 알지 못해도 docker-compose.yml 만 얻을 수 있다면, 약간의 정보(volume 경로 및 port 번호)만 수정한 후, docker compose up -d 하면 곧바로 사용을 할 수 있고, docker-compose.yml과 User Data Folder만 backup 해 놓으면, 언제 어디서든 동일한 환경을 재현할 수 있지요.
native 설치 중 오류가 발생하거나 기술적 문제에 봉착했을 경우, system이 꼬일 수 있는 리스크를 피할 수 있다는 점도 장점 입니다. 단점은 native 설치보다 저장 공간을 많이 잡아먹는 다는 것인데, 저장공간이 충분하다면 뭐 그다지 신경 쓸 것은 아니겠지요.
docker를 이용한 self-hosting 도구들은 awesome self-hosted 를 참조하면 됩니다.
Technitium DNS Server
제가 사용하는 첫번째 Docker image는 Technitium DNS server 입니다.
fedora의 경우에는 systemd-resolved 라는 DNS daemon 서비스가 기본적으로 사용되며, DNS Caching, DNSSEC, mDNS 및 LLMNR 등을 지원합니다 만, Technitium DNS server는 좀 더 최신화된 기술 및 Domain Blocking 기능을 이용하여 maleware, fakenews, fishing site, 사행성 및 음란성 사이트에 접속하는 것을 원천 차단할 수 있습니다. DNS forwarding 에서도 DNS-over-TLS나 DNS-over-QUIC 등을 이용하여, 사용자의 이용정보 노출을 줄일 수 있지요. technitium dns server를 사용하기 위해서는 기존의 systemd-resolved service를 중지해야 합니다.
위의 스샷을 보면, 한달 정도 사용한 수준에서 얼마나 많은 Domain들을 Block 했는지를 볼 수 있는데. 평소 사용하는 사이트 들에서 얼마나 많은 정보들을 취합하려고 하는지를 알 수 있습니다.
Flarum
두번째로 사용하는 것은 Flarum 이라는 community Forum solution 입니다.
Flarum에서는 자체적으로 Docker image를 제공하지 않지만, mondediefr 님이 Docker Image를 배포하고 있습니다.
이것은 일종의 게시판 같은 것으로, 원래는 여러 회원들이 어떤 주제로 글을 만들면, 그 안에서 서로의 의견을 공유하는 솔루션이지만, 개인적으로는 각종 정보를 정리하는 용도로 사용하고 있습니다. 주제별로 category를 만들고, 검색기능도 있어서 꽤 오랫동안 사용을 해 오고 있는 중 입니다.
Gitea
다음은 Gitea 입니다. Github와 거의 동일한 인터페이스를 갖고 있는 local Git 저장소 이지요.
github를 private하게 생성해서 사용해도 되기는 하지만, 굳이 배포하지 않을 개인적인 프로젝트를 github에 올리기 보다는 docker를 이용하여 self-hosting으로 운영합니다.
Vaultwarden
다음은 password manager인 vaultwarden 입니다. Bitwarden 클라이언트 API를 이용하여 민든 비 공식 오픈 소스 프로젝트로 패스위드 생성 및 저장, 패스위드 공유, 보안 인증, 엑세스 제어, 데이터 암호화 등등 상용 패스위드 관리기와 견주어 기능과 성능 면에서 대등한 수준을 제공 합니다.
데이터 베이스 관리를 위한 Web-UI를 제공하고, 웹 브라우저에서는 Bitwarden add-on(extension)을 설치하여 연동할 수 있습니다. 개인적으로 웹 브라우저에 사이트 아이디와 패스워드를 저장하는 것을 선호하지 않기 때문에, 사용 중인 모든 웹 브라우저에서 패스워드 저장 기능을 Off 하고, 대신 vaultwarden 을 사용하고 있습니다.
물론, 웹 사이트 로그인 정보 뿐 만 아니라, 카드 정보, 신원 정보, 보안 메모 등을 관리할 수 있으며, DUO, Google Authenticator 등을 이용하여 관리자 web-UI로 로그인 시 2FA(2-factor authentication, 2단계 인증) 기능을 사용하도록 설정 할 수도 있을 뿐만 아니라, Youtube, Github 등의 passkey 용으로 사용할 수도 있습니다.
LinkWarden
다음은 Bookmark manager인 Linkwarden 입니다.
일반적으로 사용하는 Bookmark(즐겨찾기)는 사용하는 웹브라우저의 Bookmark 기능을 이용하지만, 여러 개의 웹브라우저를 사용하는 경우, Bookmark 관리가 쉽지 않습니다. 동일한 사이트를 웹 브라우저마다 등록해야 하거나 삭제해야 하는데, 동기화 기능이 있다고는 해도.. 불편한 것은 마찬가지 입니다. 하지만, Bookmark manager를 self-hosting으로 관리하면 브라우저마다 개별적으로 관리할 필요 없이 해당 서버에 접속하여 사용하면 되기 때문에 일관성을 유지할 수 있습니다. 현재 사용 중인 페이지를 등록하기 위해서는 웹 브라우저 add-on(extension)에서 Linkwarden를 검색하여 등록하여 사용하면 됩니다. 덕분에 웹 브라우저의 bookmark 를 숨길 수 있기 때문에 보다 깔끔한 브라우저 환경을 사용할 수 있습니다.
Linkwarden은 위의 스샷에서 볼 수 있듯이, 각 Bookmark에 대한 실시간 페이지 image를 보여 줍니다. 각각의 Bookmark는 각각의 단일 Node process로 처리하기 때문에, memory 사용량이 좀 높다는 단점이 있습니다. 이것이 부담이라면 좀 더 가벼운 flame 을 이용할 수 있습니다.
장점은 작은 용량의 docker image와 단순한 처리로 리소스 점유율이 매우 낮다는 점이고, 단점이라면.. bookmark를 하나 하나 수동으로 등록해 줘야 한다는 점입니다. 그래도, 깔끔한 인터페이스와 다양한 color theme를 사용할 수 있다는 것이 매력 입니다. 주의할 점은 등록한 bookmark가 생성 시 순서로 ordering이 된다는 것인데 이것은 설치 후, data 디렉토리 내의 config.json 파일을 열고,
위의 스샷에서 보는 바와 같이 useOrdering을 orderId로 변경하면, mouse를 이용하여 drag & drop으로 순서를 변경할 수 있게 됩니다.
ByteStash
다음은 Code Snippet Storage Solution인 ByteStash 입니다. 즉, 자주 사용하거나 혹은 꼭 기역해야 하는 코드 루틴을 별도로 저장/ 관리할 수 있는 DB 솔루션입니다.
원래 목적은 Code를 위한 것이지만, 일반 메모나 글감 같은 것을 관리하는 목적으로도 충분히 사용할 수 있습니다. 글 당 최대 20개의 tag를 붙일 수 있고, 프로그램 언어의 대부분을 지원하며, 당연히 syntax highlighting 기능을 지원합니다. 군더더기 없는 깔끔한 인터페이스와 강력한 검색 기능이 뛰어난 솔루션 입니다.
이번 포스트에서는 개인적으로 사용 중인 Docker 활용 예를 소개해 드렸는데요, 여러분은 어떤 것들을 사용하고 있으신지요 ? 보다 능률적이고 효과적으로 사용하고 계신 것이 있다면 공유해 주시기 바랍니다.