이번 글에서는 도커 컨테이너의 환경변수에 대해 공부해보려고 한다. 도커 컨테이너를 실행할 때 필요한 변수, 파일과 같은 것들을 주입하여야 하는데, 컨테이너에 변수를 주입하는 방법으로 가장 대표적인 방법이 환경변수를 통한 방법이다. 환경변수를 어떻게 주입할 수 있는지 다루어 본다. 도커를 통해 환경변수를 주입하는 방법은 두 가지가 있다. -e 옵션을 이용하여 docker run 시에 환경변수 주입 -e 라는 옵션을 이용하여 환경 변수를 주입할 수 있다. 다음 명령어를 통해 MY_HOST=tistory.com 이라는 환경변수를 주입한 ubuntu:focal 이미지를 기반으로 하는 컨테이너를 실행하고, bash 쉘로 접속할 수 있다. docker run -i -t -e MY_HOST=tistory.com ub..
이번 글에서는 도커 컨테이너의 엔터리포인트와 커맨드에 대해 알아보고자 한다. 엔트리포인트와 커맨드의 개념이 Dockerfile 과 도커 명령어에서 사용될 수 있다. 엔트리포인트 (Entrypoint) 도커 컨테이너가 실행될 때 하나의 프로세스로서 실행되게 된다. 이때 고정적으로 실행되는 스크립트 혹은 명령어를 말한다. 이는 생략할 수 있으며, 생략할 경우 커맨드에 지정된 명령어로 수행된다. 엔트리포인트를 지정할 경우, 다음과 같은 형식으로 엔트리포인트가 prefix 처럼 실행되고, 그 뒤에 커맨드가 실행된다. [Entrypoint] [Command] 커맨드 (Command) 도커 컨테이너가 실행할 때 수행할 명령어 혹은 엔트리포인트에 지정된 명령어에 대한 인자 값으로 사용된다. 엔트리포인트와 커맨드는 D..
이번 글에서는 도커 컨테이너를 생성하는 단계부터, 실행하고, 중지하고, 삭제하는 과정까지의 라이프사이클 (생명주기) 에 대해 알아보고자 한다. Create 새로운 컨테이너를 생성하는 주기이다. docker create 명령어를 활용할 수 있다. 컨테이너 생성 docker create [image] 컨테이너 생성 및 시작 (가장 많이 사용) docker run [image] 이미지가 없을 경우 자동으로 pull 을 먼저 수행하여 이미지를 다운로드 받는다. 이외에도 다양한 옵션들이 있다. docker run \ -i \ # [interactive] 호스트의 표준 입력 (키보드 등) 을 컨테이너와 연결한다. -t \ # [terminal] TTY을 할당하여 Terminal (Shell) 을 사용할 수 있도록 ..
지난 글에 이어 이번 글에서는 도커 설치 후 도커의 이미지와 컨테이너의 구성 요소에 대해 알아보고자 한다. 도커 이미지와 컨테이너는 도커에서 가장 중요한 단위이다. 도커를 활용하다 보면 이미지 다운로드, 컨테이너 실행, 이미지 빌드 등 대부분의 과정이 이미지와 컨테이너에 관련된 작업이다 보니 이에 대해 이해하는 것이 중요하다. 이미지 컨테이너를 생성할 때 필요한 기본 요소이다. 컨테이너의 목적에 맞는 바이너리와 라이브러리가 기본적으로 설정되어 있다. 예를 들어 nginx 이미지를 다운로드하면, 별도의 작업을 거치지 않아도 nginx 실행에 필요한 라이브러리들이 기본적으로 설치되어 있는 것을 볼 수 있다. 컨테이너 이미지를 통해 만들어진 프로세스이다. 호스트와 다른 컨테이너로부터 격리되어 있다. 격리된 시..
실제 Docker 환경을 활용하기 위해 AWS EC2 리눅스 인스턴스를 활용하여 Docker 환경을 구성해 보도록 한다. 실습 전에 다음 준비 사항이 준비되어 있다는 가정 하에 진행한다. AWS 계정 생성 및 IAM, MFA 설정 EC2 환경에 원격 접속 가능한 CLI 환경 위 두 가지가 준비되어 있다면, AWS 에서 EC2 환경을 활용해 Docker 환경을 구축해 본다. 기존에 Windows 환경에서 작업하시는 분들은 Docker for Desktop 을 설치하여 진행은 가능하나, Docker 자체가 리녹스 환경을 기반으로 만들어진 기술이기 때문에 리눅스 환경에서 진행하는 것이 좋다. AWS 의 경우 잦은 업데이트로 인해 대시보드 UI 또는 기능이 변경될 수 있으니 가급적 최신 버전을 활용하시기 바란다..
최근 들어 많은 기술 회사들에서 DevOps와 컨테이너 가상화 기술을 강조하면서, 많은 개발자들이 DevOps 에 관심을 가지고 있다. DevOps 를 하게 되면 자연스럽게 MSA (Micro-Service Architecture) 를 접하게 되는데, 컨테이너 가상화 기술은 MSA 를 구성함에 있어 없어서는 안될 기술이라 할 수 있다. 그럼 컨테이너 가상화 기술은 무엇이고, docker 는 왜 써야 할까? 전통적인 배포 환경 (Traditional Deployment) 컨테이너나 가상화와 같은 기술을 사용하기 전에는, 흔히 리눅스 인스턴스에 바로 서비스를 배포하는 방식을 사용한다. AWS 와 같은 클라우드 서비스를 사용한다면, LightSail 이나 EC2 와 같은 가상 인스턴스 환경을 통해 배포하기도 ..
- Total
- Today
- Yesterday
- env
- 안드로이드
- Terraform
- EC2
- 자바
- entrypoint
- Operator
- 자격증명
- AWS
- HCL
- 머티리얼
- 디자인
- docker
- 자료형
- dockerfile
- 컨테이너
- Material
- ecr
- main
- 도커
- 메터리얼
- uiux
- Java
- DESIGN
- cmd
- dockerhub
- 스타트업
- Container
- Android
- 테라폼
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |