[Docker] Dokerfile 빌드 (개발 & 배포 과정)
·
OS/Docker
⭐️ Table of Contents1. 디렉토리 생성 및 이동2. html 파일 생성3. Dockerfile 생성4. Docker 이미지 빌드5. 로컬 이미지 확인6. Docker 컨테이너 실행7. 컨테이너의 웹 서버 확인ADDDocker Hub 로그인이미지 태그 지정이미지 푸시# 디렉토리 생성 및 이동ubuntu@docker:~$ mkdir -p ch11/sample && cd $_ ubuntu@docker:~/ch11/sample$ vim index.html ch11/sample 디렉토리를 생성하고 해당 디렉토리로 접근 $_로 마지막으로 실행한 명령어의 결과로 이동하였다.  # html 파일 생성 Docker Container Web Application. Great Works..
[Docker] Dockerfile 및 명령어
·
OS/Docker
DockerfileDockerfile은 docker에서 동작하는 컨테이너의 구성 정보를 프로비저닝(provisioning)한 텍스트 template 파일이다. 프로비저닝(provisioning)사용자의 요구의 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해두는 것. Dockerfile은 컨테이너에 설치해야하는 패키지, 소스코드, 명령어, 환경 변수 설정 등을 기록한 하나의 파일이다. Docker 이미지는 컨테이너가 런타임 환경으로 동작하기 위해 필요한 특정 기술 또는 서비스를 사전에 구축한 환경이다 . Dockerfile 은 애플리케이션 배포에 필요한 컨테이너 인프라를 코드 형태로 정의한 파일이다 . 이러한 개념을 IaCInfrastructu..
[Docker] Web container log 유지 및 실시간 확인 Volume 구성
·
OS/Docker
이번 포스팅에서는 Nginx 컨테이너의 접근 로그와 에러 로그를 호스트의 볼륨으로 마운트하여 실시간으로 확인하고, 컨테이너가 중지되어도 로그 기록을 유지하도록 구성해볼 것이다. 이를 통해 Nginx 로그에서 특정 시간대의 접근 기록을 확인하여 웹 서버의 접속 현황을 분석해보고자 한다. 즉,  Nginx 컨테이너의 접근 및 에러 로그 영역을 볼륨으로 구성하여 실시간 접근 기록 확인 및 장애 시 에러에 대한 정보를 컨테이너가 중지되어도 확인 가능하도록 한다 .  1. Nginx 로그 디렉터리 생성ubuntu@docker:~$ mkdir nginx-log nginx-log 라는 디렉터리를 생성하여 Nginx의 로그 파일을 저장할 호스트 디렉터리를 준비해준다.  2. Nginx 컨테이너 실행 및 볼륨 마운트 설..
[Docker] Proxy vs Reverse Proxy 차이
·
OS/Docker
프록시(Proxy)동작 방식클라이언트가 프록시 서버를 통해 **외부 서버(목적지)**에 접근하는 방식이다. 즉, 클라이언트의 요청이 프록시 서버를 거쳐 목적지 서버로 전달되고, 목적지 서버의 응답이 다시 프록시 서버를 통해 클라이언트에게 전달된다. 주요 목적 클라이언트의 요청을 대신 처리하거나, 익명성 보장, 웹 필터링, 캐싱, 트래픽 제어 등을 위해 사용된다.예시회사에서 내부 네트워크 사용자가 인터넷에 접속할 때 프록시 서버를 경유하여 외부 웹사이트에 접근하는 경우, 사용자는 직접 외부 웹사이트와 통신하지 않고, 프록시 서버가 대신 요청을 전달해 준다. 사용 위치주로 클라이언트 측에 위치하여 클라이언트가 요청하는 트래픽을 중개해 준다. 리버스 프록시(Reverse Proxy)동작 방식클라이언트가 직접 ..
[Docker] Volume - Bind mount 실습
·
OS/Docker
Bind Mount  연결 # 디렉터리 및 파일 생성ubuntu@docker:~$ mkdir bind01 bind02ubuntu@docker:~$ echo 'busanit docker-1' > bind01/docker-1.txtubuntu@docker:~$ echo 'busanit docker-2' > bind02/docker-2.txtubuntu@docker:~$ cat bind01/docker-1.txtbusanit docker-1ubuntu@docker:~$ cat bind02/docker-2.txtbusanit docker-2ubuntu@docker:~$ docker run -it --name=bind-mount \-v /home/ubuntu/bind01:/bind01 \-v ${PWD}/bind..
[Docker] Volume (데이터 보존할 때)
·
OS/Docker
volume 이란도커에서 제공하는  volume 기술은 컨테이너 애플리케이션에서 생성되고 사용되는 데이터를 유지 및 보존하기 위해 사용한다. 컨테이너가 삭제되어도 Volume은 독립적으로 운영되기 때문에 데이터를 유지한다.  도커  Volume 기술은 도커 호스트OS와 컨테이너에서 직접 접근이 가능하다.  일반적으로 컨테이너 내부와 데이터는 컨테이너 생명 주기와 연관되어 컨테이너 종료 시 삭제되지만 이를 지속적으로 보존하기 위한 방법으로 Volume 기술이 사용된다.   도커에는 3가지의 Volume 기술이 있다.  # Bind Mount Bind mount 기법은 디렉토리 뿐만 아니라 파일도 mount 가능하다. 호스트 파일 시스템 절대경로 ":" 컨테이너 내부 경로"를 직접 mount하여 사용한다. ..