목록Docker & K8S (39)
터칭 데이터

.dockerignore란 무엇인가? (1) Image build할 때 추가하지 말아야할 파일들이나 폴더들 지정 앞서 살펴보았던 voting-application의 경우 .dockerignore의 내용은 아래와 같음 *.pyc project.lock.json bin/ obj/ .vs/ node_modules/ .dockerignore란 무엇인가? (2) 이외에 고려해볼만한 내용들은? .git .cache logs/ *.md **/*.class .dockerignore란 무엇인가? (3) Dockerfile에서 COPY 명령 실수로 불필요한 파일 혹은 민감한 정보가 들어있는 파일들이 이미지로 들어가는 걸 막으려면 COPY 명령을 처음이나 파일이나 폴더별로 일일이 적어주는 것이 좋을 수 있음. 그러면서 .d..
Docker 명령 정리 Docker Volume이란 Docker Volume nginx 데모(실습) Docker Volume Airflow 데모(실습) 클린업 다수의 Container로 구성된 소프트웨어 실행

다수의 Container로 구성된 소프트웨어 실행 앞서 만들어본 Hangman 프로그램은 하나의 Container로 구성되어 있었는데 만일 다수의 Container로 구성된 프로그램이라면 어떻게 이미지를 빌드해야할까? Docker에서 5개의 컨테이너로 구성된 프로그램을 실습용으로 제공하는데 이것으로 실습을 진행하려 합니다. Voting application 첫 번째 실습은 Docker에서 제공하는 voting application을 메뉴얼하게 실행하고 두 번째 실습은 Docker Compose를 사용하여 더 편하게 실행해보겠습니다. 우리가 실행해볼 프로그램 설명 Docker에서 제공해주는 예제 프로그램 - Voting application 좌측과 같이 5개의 컨테이너로 이루어져 있는 프로그램입니다. 우측..

다수의 Container로 구성된 소프트웨어 실행 앞서 만들어본 Hangman 프로그램은 하나의 Container로 구성되어 있었는데 만일 다수의 Container로 구성된 프로그램이라면 어떻게 이미지를 빌드해야할까? Docker에서 5개의 컨테이너로 구성된 프로그램을 실습용으로 제공하는데 이것으로 실습을 진행하려 합니다. 그런데 여기서 잠깐 Docker로 다수의 컨테이너로 구성된 프로그램을 실행하기 전에 Docker 환경을 클린업하는 방법을 살피겠습니다. 지금까지 다양한 Docker 실습을 해오며 쌓여온 여러 Container로 환경 등이 꼬여있을 가능성이 있습니다. 여러 status 상태의 컨테이너들도 존재할 것이구요. 이를 이번 시간에 정리하고 가겠습니다. 이번 실습과도 별개로 개발을 할 때 주기적..

데모: 앞서 nginx 두 가지 실행 예 살펴보기 첫 번째는 하나는 볼륨없이 내용이 사라지는 경우를 두 번째는 볼륨을 지정하고 실행하며 내용이 사라지지 않는 경우를 이렇게 두 상황을 살펴보았습니다. 이 상황들에 대한 데모를 진행해보겠습니다. 거기에 더해 세번째는 Airflow의 docker-compose.yml에서 volumes 내용만 살펴보기도 했는데요. 데모의 끝 부분에서 airflow의 docker-compose.yml 파일도 잠깐 살펴볼 예정입니다. airflow의 docker-compose.yml 파일 Docker-Compose.yml 실행하려는 프로그램이 다수의 Docker Container로 구성된 경우 그 설정을 쉽게 해줄 수 있는 환경설정 파일이라고 생각하시면 됩니다. 지난 Airflow..

데모: 앞서 nginx 두 가지 실행 예 살펴보기 첫 번째는 하나는 볼륨없이 내용이 사라지는 경우를 두 번째는 볼륨을 지정하고 실행하며 내용이 사라지지 않는 경우를 이렇게 두 상황을 살펴보았습니다. 이 상황들에 대한 데모를 진행해보겠습니다. 거기에 더해 세번째는 Airflow의 docker-compose.yml에서 volumes 내용만 살펴보기도 했는데요. 데모의 끝 부분에서 airflow의 docker-compose.yml 파일도 잠깐 살펴볼 예정입니다. 첫 번째 실습 볼륨없이 내용이 사라지는 경우 Nginx 공식 이미지 다운 일단 docker에서 nginx 공식 Image를 다운받겠습니다. docker run -d --name=nginx -p 8081:80 nginx PS C:\Users\User> ..

Docker Volume이란? Docker Container가 무슨 이유로건 중단되고 재실행된다면 그전의 데이터는 어떻게 되는 걸까? 그 문제를 해결하기 위해 등장한 것이 Docker Volume입니다. Docker Volume의 필요성 Docker Container가 실행되었다가 중단되면 데이터들은 어떻게 될까? 특정 소프트웨어가 Docker Container를 통해 일회성으로 동작하는 것이 아니라 계속해서 동작해야 한다면 데이터가 영구적으로 보관되어야함 예) 데이터베이스가 Docker Container안에서 동작한다면? 이를 보장하는 기능이 Docker Volumes => Data Persistence Docker Container내의 가상 파일 시스템과 호스트 시스템의 파일 시스템을 맵핑 이런 맵핑..

Docker 명령 정리와 2장 퀴즈 다양한 docker 명령을 정리하고 2장 내용을 정리하는 퀴즈를 풀어보자 Docker 명령 정리 - Image 관련 docker build --platform=linux/amd64 -t jon/hangman Dockerfile에 기술된 내용대로 Docker Image를 build docker images docker image ls Docker Image 리스트 docker rmi docker image rm Docker Image 삭제 Docker 명령 정리 - Docker Hub 관련 docker login -u 사용자ID -p 사용자PW 한번 해두면 로컬에 저장 정보가 저장되어 반복할 필요가 없어집니다. docker pull jon/hangman (어카운트 ID/..

학습 목표 CI/CD의 개념과 가장 많이 사용되는 소스 컨트롤 시스템 Git과 Github에 대해 알아보고 Github이 제공하는 CI/CD 서비스인 Github Actions에 대해 알아보려 합니다. 이렇게 배운 개념들을 바탕으로 1. Github Actions로 Hangman 코드에 테스트를 붙이는 실습 2. Github Actions를 기준으로 Docker Image를 만들고 Docker hub에 push하는 실습 2개의 실습을 하려합니다. 2. Github Actions를 기준으로 Docker Image를 만들고 Docker hub에 push하는 실습 시작하기 전에 먼저 learndataeng/hangman_web repo를 본인의 Github 어카운트로 fork 여기에 앞서 만든 Dockerfi..

학습 목표 CI/CD의 개념과 가장 많이 사용되는 소스 컨트롤 시스템 Git과 Github에 대해 알아보고 Github이 제공하는 CI/CD 서비스인 Github Actions에 대해 알아보려 합니다. 이렇게 배운 개념들을 바탕으로 1. Github Actions로 Hangman 코드에 테스트를 붙이는 실습 2. Github Actions를 통해 Docker Image를 만들고 Docker hub에 push하는 실습 2개의 실습을 하려합니다. 1. Github Actions로 Hangman 코드에 테스트를 붙이는 실습 정확하게는 테스트이외에도 문법 에러나 코딩 스타일 이슈까지도 체크하는 스텝을 추가하겠습니다. 시작하기 전에 먼저 learndataeng/hangman_web repo를 본인의 Github ..