일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리액트
- 백준
- es6
- 타입스크립트
- BFS
- TypeScript
- docker
- VUE
- 클라우드
- next.js
- 컴퓨터공학
- 백엔드
- 이슈
- CSS
- 가상화
- 자바스크립트
- 블록체인
- AWS
- 웹
- 솔리디티
- kubernetes
- 이더리움
- 파이썬
- k8s
- 쿠버네티스
- 프론트엔드
- HTML
- 알고리즘
- JavaScript
- react
- Today
- Total
목록📖 ☁️ 클라우드/Docker (4)
즐겁게, 코드
빌드한 이미지를 도커허브에 배포하려 했는데, 도커허브에는 반드시 / 의 형태로 이미지를 푸시해야 한다는 점을 알 수 있었습니다. 그런데 굳이 이것 때문에 이미지를 새로 빌드하는 것은 비효율적인 것 같아 간단히 이미지 이름만 변경하는 방법을 공유해보려 합니다. tag 커맨드 docker image tag 커맨드를 사용하면 기존 이미지를 참조하면서 새로운 이름을 갖는 이미지를 생성할 수 있습니다. 도커허브에 푸시하기 위해, / 형태로 새로운 이미지를 생성해 보겠습니다. 이렇게 기존 이미지명에 제 도커허브 아이디를 붙인 새로운 이미지를 생성했습니다. 이제 로컬에 이미지가 존재하지 않는다는 에러 없이, 푸시가 잘 수행되는 모습입니다. 🙂
한번쯤 이미지를 빌드해 보신 분들이라면, 이미지 사이즈가 적게는 수십 ~ 많게는 몇백 메가바이트에서 기가바이트 단위까지 넘나드는 것을 보셨을 것입니다. 물론 가상 머신에 OS와 어플리케이션을 올린 것보다는 가볍겠지만 단순한 어플리케이션 하나가 수백 메가를 차지하는 걸 보면 뭔가 억울한데요, Distroless 라는 구글에서 관리하는 베이스 이미지를 사용하면 일부 환경의 어플리케이션 이미지를 더욱 가볍게 제작할 수 있습니다. 이번 글에서는 Node.js의 Distroless 베이스 이미지를 사용해 간단한 이미지를 제작해보고, 기존 Node.js 베이스 이미지를 사용했을 때보다 얼마나 용량을 절약할 수 있는지 알아보도록 하겠습니다. 멀티 스테이징 빌드 Distroless 이미지가 용량을 절약하는 원리는 운영..
이미지에 파일을 하나 추가했다고 해서 처음부터 수백 메가에 달하는 파일을 다시 다운받는다면 굉장히 비효율적일 것입니다. 하지만, 도커 데몬은 레이어 를 활용해 이미지를 빌드할 때 파일이 추가되거나 변경될 때마다 해당 동작을 캐시합니다. 오늘은 도커파일을 잘 작성해 레이어의 캐싱을 최대화하고, 이를 통해 이미지 빌드 속도를 최적화하는 팁을 소개해보려 합니다. 이미지 생성하기 간단한 node.js 어플리케이션 하나를 이미지로 만들어 보겠습니다. 코드는 다음과 같습니다. const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send(` 간단한 node.js 어플리케이션입니다. `); }) app.li..
산학프로젝트 과목의 AWS 특강을 듣고 CI/CD와 인프라에 대한 내용에 관심이 생겨 찾아보던 중, "도커" 라는 플랫폼을 통해 개발과 운영 환경을 통합할 수 있음을 알게 되었습니다. 이번 글에서는 도커와 도커의 핵심 구성요소인 이미지와 컨테이너에 대해 간단히 정리해보도록 하겠습니다. 1. Why Docker? 당연하지만 회사나 조직에서 근무하는 모든 인원들의 개발 환경이 같을 수는 없습니다. 누구는 리눅스를, 누구는 맥을, 누구는 Node.js 14를, 누구는 Node.js 12를... 이렇게 모두 다른 환경에서는 설치 과정과 실행방법이 모두 다를 수밖에 없지만, 도커를 활용하면 어떤 환경에서든 동일한 조건과 방법으로 소프트웨어를 실행할 수 있습니다. (※ 아마 여기서 버추얼박스같은 가상 OS를 떠올리..