이번 글에서는 도커 컨테이너를 실제 배포하기 위해 도커 이미지로 빌드하는 것에 대해 알아보려고 한다. 도커 이미지 구조를 알아보고, Dockerfile에 대해 알아본다. 도커 이미지 구조 다음 이미지는 도커 이미지의 구조를 도식화한 그림이다. 왼쪽은 도커 이미지이고, 오른쪽은 도커 컨테이너이다. Docker Image에는 ubuntu, nginx, web app 의 세 가지 이미지로 구성되어 있다. nginx는 ubuntu 를 기반으로 만들어졌다고 가정하고, web app 이미지는 nginx 이미지를 기반으로 만들어졌다고 가정하겠다. Ubuntu 이미지의 경우 Layer A, B, C 의 세 레이어로 구성되어 있는 것을 볼 수 있는데, 실제로 도커 이미지의 구조는 레이어 아키텍처로, 새로운 변경 사항이 ..
컨테이너를 관리함에 있어 로그를 어떻게 관리할 것인가는 운영 측면에서 중요한 사항이다. 이번 글에서는 컨테이너의 로그를 확인하고, 호스트 운영체제에서 로그는 어디에 저장되는지, 로그 용량 관리 등에 대해 알아보고자 한다. 표준 출력 (STDOUT), 표준 에러 (STDERR) 애플리케이션에서 로그를 다룰 때, 일반적으로 해당 언어에서 지원하는 로그 프레임워크를 사용하여 표준 출력이나 ElasticSearch 와 같은 서비스와 연동하는 등 다양한 방법이 있는데, 도커 컨테이너에서는 STDOUT과 STDERR 로 내보내는 것을 표준으로 삼아야 한다. 도커가 해당 출력 로그를 쌓아 로깅 드라이버가 처리할 수 있도록 하는데, 로깅 드라이버를 다양하게 제공한다. 본인의 사용 목적에 맞는 드라이버를 선택하여 사용하..
이번 글에서는 도커의 명령어 중 exec 명령어에 대해 다루어 보고자 한다. exec 명령어는 실행 중인 컨테이너에 특정 명령어를 실행하는 도커 명령어이다. 기존에 실행 중인 컨테이너에 대해 특정 이슈를 해결하기 위해 빈번하게 사용되는 명령어이다. 기본적인 명령어 체계는 다음과 같다. docker exec [container] [command] 우선 실습을 위해 test-container 의 이름을 가진 nginx 이미지 기반의 컨테이너를 하나 띄워 본다. docker run -d --name test-container nginx 현재 실행 중인 것을 확인한 후, exec 명령어를 이용하여 env 명령어를 전달해 본다. 다음과 같이 컨테이너의 환경변수가 나열되는 것을 확인할 수 있다. docker exe..
이번 글에서는 도커 컨테이너의 환경변수에 대해 공부해보려고 한다. 도커 컨테이너를 실행할 때 필요한 변수, 파일과 같은 것들을 주입하여야 하는데, 컨테이너에 변수를 주입하는 방법으로 가장 대표적인 방법이 환경변수를 통한 방법이다. 환경변수를 어떻게 주입할 수 있는지 다루어 본다. 도커를 통해 환경변수를 주입하는 방법은 두 가지가 있다. -e 옵션을 이용하여 docker run 시에 환경변수 주입 -e 라는 옵션을 이용하여 환경 변수를 주입할 수 있다. 다음 명령어를 통해 MY_HOST=tistory.com 이라는 환경변수를 주입한 ubuntu:focal 이미지를 기반으로 하는 컨테이너를 실행하고, bash 쉘로 접속할 수 있다. docker run -i -t -e MY_HOST=tistory.com ub..
최근 들어 많은 기술 회사들에서 DevOps와 컨테이너 가상화 기술을 강조하면서, 많은 개발자들이 DevOps 에 관심을 가지고 있다. DevOps 를 하게 되면 자연스럽게 MSA (Micro-Service Architecture) 를 접하게 되는데, 컨테이너 가상화 기술은 MSA 를 구성함에 있어 없어서는 안될 기술이라 할 수 있다. 그럼 컨테이너 가상화 기술은 무엇이고, docker 는 왜 써야 할까? 전통적인 배포 환경 (Traditional Deployment) 컨테이너나 가상화와 같은 기술을 사용하기 전에는, 흔히 리눅스 인스턴스에 바로 서비스를 배포하는 방식을 사용한다. AWS 와 같은 클라우드 서비스를 사용한다면, LightSail 이나 EC2 와 같은 가상 인스턴스 환경을 통해 배포하기도 ..
- Total
- Today
- Yesterday
- entrypoint
- 스타트업
- uiux
- 디자인
- AWS
- Container
- EC2
- Material
- DESIGN
- 자격증명
- 자료형
- 컨테이너
- Terraform
- 메터리얼
- 머티리얼
- 도커
- cmd
- docker
- main
- Operator
- 자바
- 테라폼
- env
- Android
- dockerfile
- HCL
- 안드로이드
- Java
- dockerhub
- ecr
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |