[Docker] Widnow11에서 도커로 APM 세팅하기

2024. 2. 29. 11:52· 컴퓨팅 기술/Docker
목차
  1. Docker
  2. Docker Desktop 다운로드
  3. docker-compose.yml 파일 설정
  4. Docker 실행해 보기

Docker

도커란 컨테이너화 기술을 통해 애플리케이션을 패키징하여 사용하는 데

이 컨테이너 방식은 애플리케이션과 의존성을 함께 패키징함과 동시에 기존에 가상 머신을 사용하여 사용자 환경을 나누는 것과 비교하면 훨씬 가볍고 빠르게 구현으로 사용자 환경을 나눌 수 있습니다.

 

아래 이미지를 보면 왼쪽은 가상머신을 사용할 때의 상황을 가식화한거고

오른쪽 이미지는 컨테이너를 사용하는 방식입니다.

 

가상머신은 Guest OS까지 띄우고 진행해야 한다는 점에서 도커보다 무겁고 느릴 수밖에 없습니다.

https://cloudacademy.com/blog/docker-vs-virtual-machines-differences-you-should-know/

 

Docker Desktop 다운로드

Desktop에서 Docker를 관리하기 용이하게 해주는 Docker Desktop을 다운해줍시다.

https://www.docker.com/products/docker-desktop/

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

위 페이지에서 Download for Windos를 받아줍시다.

 

다음처럼 다운로드를 하고

이제 설치가 완료되면 재부팅이 되고 아래 창이 나오면 성공

이제 로그인 정보를 입력하시고 아래 화면까지 오면 성공입니다.

 

docker-compose.yml 파일 설정

이제 작업을 할 폴더에서 아래 yml 파일을 만들어줍시다.

속성 별 담당하는 기능입니다.

  • version : docker-compse.yml 파일의 버전을 지정함
  • services : 서비스(컨테이너)의 목록을 지정하고, 서비스는 각각 별도의 컨테이너로 실행함
  • image : image로 해당 컨테이너에 넣을 패키지와 버전을 선택할 수 있음
  • ports : 호스트의 IP 컨테이너의 IP를 매핑을 정
  • volumes : 해당 폴더와 컨테이너 내부 폴더를 마운트 처리하여 이를 통해 컨테이너와 호스트 간에 데이터 동기화를 가능케 해 줌
  • depends_on : 다른 컨테이너와의 관계를 지정하는 걸로 컨테이너가 생성되는 순서를 지정 가능
  • command : 컨테이너가 시작될 때  명령을 지정하는데 이걸로 컨테이너의 기본 명령을 업데이트 가능
  • environment : 컨테이너에서 사용할 변수를 정의하여 컨테이너에 설정에 정보를 전달할 수 있다

docker-compse.yml

version: '3.9'
 
services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    depends_on:
      - db
    volumes:
      - ./html:/var/www/html/
    ports:
      - 5000:80

  db:
    container_name: mysql
    image: mysql:latest
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_USER: root
      MYSQL_PASSWORD: secret
      MYSQL_ROOT_PASSWORD: secret
    volumes:
      - ./mysql/init:/docker-entrypoint-initdb.d

저는 호스트(로컬)에서의 포트 충돌을 피하기 위해 apache는 5000으로 매핑했습니다.

각자 로컬 환경에 맞춰 포트를 조절을 하시면 됩니다.

Dockerfile

FROM php:7.2-apache
RUN docker-php-ext-install mysqli
EXPOSE 80

저는 필요한 PHP 버전이 7.2이기에 지정을 했습니다, 필요한 경우 바꾸시면 됩니다.

Docker 실행해 보기

docker-compose.yml를 설정한 폴더로 가서 아래 명령어를 통해 빌드 후 백그라운드로  실행할 수 있습니다.

※ 종료시는 ctrl + c로 할 수 있습니다.

docker-compose up --build
docker-compose up -d

 

실행 후 docker desktop에 아래와 같은 image들이 추가된 걸 볼 수 있습니다.

이미지들은 나중에 다시 컨테이너에 필요할 경우 재활용되어 사용됩니다.

이미지 이름이 docker-test-apm-web인 이유는 Dockerfile로 빌드를 진행했기 때문입니다.

컨테이너도 다음처럼 생긴 걸 볼 수 있습니다.

다음처럼 폴더가 생길 것입니다.

이제 html/index.php을 다음 내용으로 추가합시다.

<?php
	echo "Hello World";
?>

그리고 마지막으로 localhost:5000으로 접속하면 반가운 Hello World를 볼 수 있습니다.

반응형

'컴퓨팅 기술 > Docker' 카테고리의 다른 글

[Docker + Wordpress] php에서 mysql 연결  (0) 2023.05.23
  1. Docker
  2. Docker Desktop 다운로드
  3. docker-compose.yml 파일 설정
  4. Docker 실행해 보기
'컴퓨팅 기술/Docker' 카테고리의 다른 글
  • [Docker + Wordpress] php에서 mysql 연결
DSeung
DSeung
DSeung
Dev log
DSeung
  • 분류 전체보기 (193)
    • PHP (62)
      • Laravel (31)
      • Error (5)
      • Setting (11)
      • Modern PHP (15)
    • Go Lang (51)
      • Study (30)
      • Algorithm (17)
      • Setting (1)
      • Error (3)
    • Java (11)
      • Spring (3)
      • JSP (0)
      • Error (2)
      • Setting (2)
      • 단축키 (2)
    • JavaScript (6)
      • Modern JavaScript (4)
      • Node (1)
    • Android Kotlin (5)
      • Study (4)
      • Error (1)
    • 컴퓨팅 기술 (12)
      • 데이터베이스시스템 (4)
      • Docker (2)
      • 크롤링 & 스크래핑 (1)
      • API (1)
      • 클라우드 (1)
      • 네트워크 (1)
    • MySQL (7)
    • AWS (1)
    • Git (5)
      • GItLab (1)
      • GitHub (4)
    • 도메인 (2)
      • 안과 (2)
    • 자격증 (7)
      • SQLD (1)
      • 정보처리기사 (6)
    • Mac os (1)
    • 나머지 (13)
      • tistory (1)
      • 기타 (9)
      • 일기 (3)
    • 독서 (10)

인기 글

최근 글

블로그 메뉴

  • 홈
  • 태그
전체
오늘
어제
hELLO · Designed By 정상우.v4.2.0
DSeung
[Docker] Widnow11에서 도커로 APM 세팅하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.