지난 글에 이어서 이번 글에서는 AWS 의 ECR (Elastic Container Registry) 서비스를 통해 이미지를 관리하는 방법에 대해 알아본다. 기본적으로 AWS 에 대한 계정 설정은 모두 완료되었다는 가정 하에 진행한다. 우선 Amazon Elastic Container Registy 에 접속한다. 로그인이 되었다면 아래 링크를 통해 접속이 가능할 것이다. 리전은 무관하나 가급적 서울 리전 (ap-northeast-2) 을 사용하는 것이 속도 면에서 효율적이다. https://ap-northeast-2.console.aws.amazon.com/ecr/get-started?region=ap-northeast-2 https://ap-northeast-2.console.aws.amazon.com..
도커 이미지를 사용함에 있어서 조직 내에서 컨테이너 서비스를 이용할 때 이미지의 관리와 공유가 중요하게 되었다. 이미지의 관리와 공유를 도와주는 서비스가 이미지 저장소이다. 이미지 저장소 중 도커 허브 (Docker Hub) 를 이용하여 이미지를 관리하는 방법을 알아본다. 다음 링크에 접속하면 도커 허브의 홈 페이지가 보인다. https://hub.docker.com Docker Hub Container Image Library | App Containerization Build and Ship any Application Anywhere Docker Hub is the world's easiest way to create, manage, and deliver your teams' container ap..
도커 이미지 파일을 압축 파일로 저장하고 불러오는 것은 인터넷이 안 되는 환경에서 자주 활용할 수 있다. 혹은 이미지 파일을 온라인 상에 올리지 않고 특정 서버에 전달하는 목적으로 사용할 수도 있다. 이미지 압축 파일로 저장하기 도커 이미지는 압축할 때 tar 확장자를 지원한다. 다음 명령어를 통해 압축할 수 있다. docker save -o [OUTPUT-FILE] IMAGE 현재 로컬에 있는 이미지 중 하나를 이용해 압축을 해 보자. 이미지 중 우리가 이전 글에서 만들었던 my-app 이미지를 다음 명령어를 통해 압축해 보자. my-app:v1 이미지를 my-app-v1.tar 이름의 파일로 압축한다. docker save -o my-app-v1.tar my-app:v1 압축 명령 실행에는 약간의 시..
지난 글에서 Dockerfile 을 활용하여 이미지를 빌드해 보았다. 리액트 프로젝트를 클론 받아 Dockerfile 을 추가하여 빌드하였는데, 이번 글에서는 Dockerfile 에 대해 더 자세히 알아보도록 한다. 우선 Dockerfile 에 대한 사항은 공식 페이지에서도 확인할 수 있다. https://docs.docker.com/engine/reference/builder/ Dockerfile reference docs.docker.com Format - 주석 Dockerfile 내에서 주석은 파이썬과 동일하게 샵 (#) 을 이용하여 주석을 추가할 수 있다. # Comment Format - 지시어 Dockerfile 의 모든 구문은 지시어와 그 지시어의 인자값으로 이루어져 있다. INSTRUCTI..
이번 글에서는 도커 컨테이너를 실제 배포하기 위해 도커 이미지로 빌드하는 것에 대해 알아보려고 한다. 도커 이미지 구조를 알아보고, Dockerfile에 대해 알아본다. 도커 이미지 구조 다음 이미지는 도커 이미지의 구조를 도식화한 그림이다. 왼쪽은 도커 이미지이고, 오른쪽은 도커 컨테이너이다. Docker Image에는 ubuntu, nginx, web app 의 세 가지 이미지로 구성되어 있다. nginx는 ubuntu 를 기반으로 만들어졌다고 가정하고, web app 이미지는 nginx 이미지를 기반으로 만들어졌다고 가정하겠다. Ubuntu 이미지의 경우 Layer A, B, C 의 세 레이어로 구성되어 있는 것을 볼 수 있는데, 실제로 도커 이미지의 구조는 레이어 아키텍처로, 새로운 변경 사항이 ..
컨테이너를 관리함에 있어 로그를 어떻게 관리할 것인가는 운영 측면에서 중요한 사항이다. 이번 글에서는 컨테이너의 로그를 확인하고, 호스트 운영체제에서 로그는 어디에 저장되는지, 로그 용량 관리 등에 대해 알아보고자 한다. 표준 출력 (STDOUT), 표준 에러 (STDERR) 애플리케이션에서 로그를 다룰 때, 일반적으로 해당 언어에서 지원하는 로그 프레임워크를 사용하여 표준 출력이나 ElasticSearch 와 같은 서비스와 연동하는 등 다양한 방법이 있는데, 도커 컨테이너에서는 STDOUT과 STDERR 로 내보내는 것을 표준으로 삼아야 한다. 도커가 해당 출력 로그를 쌓아 로깅 드라이버가 처리할 수 있도록 하는데, 로깅 드라이버를 다양하게 제공한다. 본인의 사용 목적에 맞는 드라이버를 선택하여 사용하..
도커의 네트워크 구조를 알아보고, 실행시키는 컨테이너의 포트를 노출시키는 방법을 알아보고, Expose 와 Publish 에 대해 알아본다. 도커 네트워크 구조 도커를 호스트 운영체제에 설치하면 기본적으로 여러 네트워크 드라이버가 설치된다. 기본적으로 도커 컨테이너를 실행할 때 사용할 네트워크를 지정할 수 있다. eth0 : 호스트에서 사용하고 있는 기본 네트워크인데, EC2를 사용하고 있다면 EC2 의 private IP 가 설정되어 있는 네트워크 장치이다. 컨테이너를 실행한 후 네트워크 장치 목록을 확인해 보면 eth0과 l0 의 두 가지 네트워크가 설치되어 있는 것을 확인할 수 있다. docker0 : 네트워크를 따로 지정하지 않으면 기본적으로 생성되는 docker0 이라고 하는 브릿지 네트워크를 ..
이번 글에서는 도커의 명령어 중 exec 명령어에 대해 다루어 보고자 한다. exec 명령어는 실행 중인 컨테이너에 특정 명령어를 실행하는 도커 명령어이다. 기존에 실행 중인 컨테이너에 대해 특정 이슈를 해결하기 위해 빈번하게 사용되는 명령어이다. 기본적인 명령어 체계는 다음과 같다. docker exec [container] [command] 우선 실습을 위해 test-container 의 이름을 가진 nginx 이미지 기반의 컨테이너를 하나 띄워 본다. docker run -d --name test-container nginx 현재 실행 중인 것을 확인한 후, exec 명령어를 이용하여 env 명령어를 전달해 본다. 다음과 같이 컨테이너의 환경변수가 나열되는 것을 확인할 수 있다. docker exe..
- Total
- Today
- Yesterday
- 도커
- Material
- uiux
- cmd
- 머티리얼
- dockerfile
- Android
- EC2
- HCL
- 메터리얼
- AWS
- ecr
- 자료형
- 자격증명
- dockerhub
- env
- 스타트업
- main
- Operator
- DESIGN
- docker
- 안드로이드
- Container
- 디자인
- Terraform
- 테라폼
- entrypoint
- 컨테이너
- 자바
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |