_Docker 9

Docker Compose

강의 Docker Compose "Docker Compose"는 다수의 Container로 구성된 소프트웨어를 사용할 수 있도록 도와주는 기능 입니다. 개별 Container를 각각 관리하는 것보다 생산성이 높습니다. 다양한 버전 생성이 일반적입니다. (dev, test, prod) # 일반적인 표현 docker-compose.yml docker-compose.yaml # 가능한 표현 docker compose.yml docker compose.yaml # 다양한 버전 존재할 때 docker-compose -f docker-compose.dev.yml Docker Compose 명령 docker-compose build : build 키 지정된 경우 docker-compose pull : image 키 ..

Docker Network

강의 Docker Network "Docker Network"는 다수의 컨테이너가 존재하는 소프트웨어를 실행할 때 컨테이너 간에 연결을 이어주는 기능 입니다. 연결 상황에 따라 별개의 네트워크를 만들어 사용할 수 있습니다. back-tier front-tier 실습 Voting application vote, result, worker Container 존재 git clone https://github.com/dockersamples/example-voting-app.git # vote/app.py def get_redis(): if not hasattr(g, 'redis'): g.redis = Redis(host="redis", db=0, socket_timeout=5) return g.redis //..

Docker Volume

강의 Docker Volume "Docker Volume"은 특정 소프트웨어가 Docker Container를 통해 지속적으로 동작해야하는 경우 데이터를 영구적으로 보관하는 기능 입니다. Docker Container 내의 가상 파일 시스템과 호스트 시스템의 파일 시스템을 맵핑 혹은 마운팅하여 기록을 남길 수 있습니다. "마운트"는 물리적인 장치를 파일 시스템의 특정 위치 혹은 폴더에 연결해주는 것을 말합니다. Docker Volume 타입 Host Volume docker run -v host_file_system_path:container_file_system_path Anonymous Volume docker run -v container_file_system_path Dockerfile에서 사용 ..

Docker 명령

강의 Docker 명령 정리 Docker Image docker build --platform=linux/amd64 -t hub_name docker images : local에 저장된 Docker Image 확인 docker image ls : local에 저장된 Docker Image 확인 docker rmi : Docker Image 삭제 docker image rm : Docker Image 삭제 Docker Hub docker login -u user_id -p user_password docker pull hub_name : local로 다운로드 docker push hub_name : Docker Hub로 업로드 Docker Container docker create docker run --..

Docker: Web Service 실행

실습 실행 과정 hangman_web repo 생성 Dockerfile 생성 FROM python:3.8-slim-buster LABEL Maintainer="@gmail.com" WORKDIR /app COPY pp.py ./ RUN pip3 install -r requirements.txt EXPOSE 4000 CMD ["python3", "-m", "flask", "run", "--host=0.0.0.0", "--port=4000"] Main Merge 테스트 수행 Docker Image 빌드 Docker Image를 Docker Hub로 푸시 Github repo에 Github Actions로 구현 Hangman 프로그램 flask를 사용하여 웹으로 노출합니다. python으로 구성된 코드 입니다..