본문 바로가기

docker7

Dockerfile에 환경변수를 추가해보자. 📌 지난 글 1. Dockerfile을 이용해 Docker image 생성해보자. 지난 글에서는 임의의 애플리케이션을 Dockerfile을 통해 Docker Image를 생성하는 것을 알아봤습니다. 하지만 운영할 땐 단순히 Application을 띄우는 것이 아니라 여러 가지 환경변수 등을 주입해줘야 합니다. 예를 들어, 개발환경이냐 운영환경이냐에 대한 spring profiles가 그 대표적인 예일 것입니다. 이에, 우리는 이번 게시글을 통해 Dockerfile에 환경 변수를 주입하는 법을 확인하고자 합니다. 1. 지난 글에서 생성한 Dockerfile 아래의 Dockerfile은 1. Amazon Corretto JDK 17을 가지고 있는 경량화 리눅스(Alpine)에 2. 빌드된 spring boo.. 2023. 12. 17.
Dockerfile을 이용해 Docker image 생성해보자. 우리는 이번 게시글을 통해 임의의 애플리케이션을 Docker Container로 실행가능하도록 도커 이미지를 생성하는 것을 학습합니다. 검색해보니 도커라이징(Dockerizing)이라고도 하는 것 같은데, 공식적인 단어는 아닌 것 같습니다. 0. 도커 설치하기 당연히 선행되어 도커를 설치해야합니다. 아래의 링크에서 자신의 운영체제에 맞게 접근하여 다운로드/설치를 진행합니다. https://docs.docker.com/get-docker/ 1. 테스트할 웹앱 생성하기 가볍게 /hello-world 으로 접근하면 "Hello, World!" 를 반환하는 컨트롤러를 생성해줍니다. 2. Java Application build하기 먼저, 생성할 도커 이미지에서 사용될 Application Jar를 생성해야합니다.. 2023. 12. 4.
Docker의 Root Directory 위치를 변경해보자. 개발 중인 서버에 접근해보니 루트 디렉토리가 91% 사용 중이었습니다. (이미 조치해버려서 사진은 예시이다.) 우리 회사는 KT 공공 클라우드를 사용 중에 있는데, 루트 디렉토리를 고작 17GB 밖에 안줍니다. 어쨌든, 도커의 루트 디렉토리 증설은 불가피했습니다. 01. 루트 디렉토리 설정 확인하기 docker info | grep Root 명령어로 Docker Root Dir이 /var/lib/docker임을 확인했습니다. [root@abcd merged]# docker info | grep Root WARNING: bridge-nf-call-ip6tables is disabled WARNING: Running Swarm in a two-manager configuration. This configur.. 2023. 4. 24.
Docker Swarm 환경에서 자원 할당을 해보자. docker compose file의 deploy 영역 밑에 resources 라는 영역을 이용하여 설정할 수 있습니다. reservations 최소로 보장하는 자원 limits 최대 사용 가능한 자원 cpu의 경우, cpus라는 예약어를 통해 사용 가능한 비율을 설정 할 수 있습니다. 아래 예제로 보면, 25%를 최소로 보장하며 최대 50%까지 사용 가능하도록 설정한 예제입니다. 메모리는 아래와 같이 단위를 사용하여 명시할 수 있습니다. (b, k, m, g 등) services: temp_image: image: ~~~~ volumes: ~~~ deploy: resources: reservations: cpus: "0.25" memory: 1024M limits: cpus: "0.5" memory: .. 2023. 1. 29.
Docker Swarm이란 무엇일까? 도커 스웜이란? 도커에서 만든 컨테이너 오케스트레이션 툴입니다. 컨테이너 오케스트레이션이란, 여러 호스트의 컨테이너 배포 및 관리, 제어를 자동화하는 것을 의미합니다. 비슷한 예로는 AWS ECS, K8S, Apache Mesos 등이 있습니다. 1. 도커 스웜을 사용하는 이유 도커는 기본적으로 하나의 호스트에서 동작합니다. 하지만 이는 실제 운영 환경에서는 문제가 될 가능성이 있습니다. 예를 들어, 운영 중 서비스의 덩치가 커져 서버 자원이 부족할 때는 어떡해야 할까요? 물론 더 좋은 사양의 서버를 사면 당장은 문제가 되지 않지만, 서버의 구매, 교체 등의 업무는 굉장한 부담입니다. 하지만 도커 스웜은 여러 서버를 하나의 클러스터(군집)로 묶어 자원을 병렬로 확장하게끔 도와주는 역할을 합니다. 즉, 서.. 2022. 11. 25.
Docker를 설치해보자 본 주제는 Cent OS 7.9 64bit 환경에서 작성하였습니다. 편의상 root 계정으로 진행하며, 혹여 별도의 사용자로 진행하신다면 적절한 권한이 필요합니다. 또한, docker-ce 버전을 사용합니다. 도커 설치하기 CentOS의 패키지 매니저 yum을 통해 설치하는 가이드입니다. 1. Docker Repository 추가 [root@server-01 /]# wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo 2. Docker 설치 [root@server-01 /]# yum install -y docker-ce 3. Docker 서비스 시작 [root@server /]# syst.. 2022. 11. 24.