php 제로보드-그누보드-아미나

도커 (2) # 🧱 Docker 개발 환경 구축 이후 다음 단계

자무카 2025. 5. 27.

🧱 Docker 개발 환경 구축 이후 다음 단계

Docker 공식 설치를 마쳤다면, 이제 본격적으로 개발과 운영을 위한 애플리케이션 구성을 시작할 수 있습니다.
아래는 Ubuntu VM 내에서 개발/운영용 Docker 환경을 체계적으로 확장하기 위한 다음 단계 가이드입니다.


✅ 1. 디렉토리 구조 정리

mkdir -p /srv/docker/{wordpress,xe3,youngcart,proxy,adminer,fastapi,db}
chown -R $USER:$USER /srv/docker

각 폴더에 docker-compose.yml을 두고 독립적인 앱/서비스로 관리합니다.


✅ 2. Docker Compose 예제 구성 (워드프레스 기준)

srv/docker/wordpress/docker-compose.yml:

version: '3.8'
services:
  db:
    image: mariadb:10.6
    environment:
      MYSQL_ROOT_PASSWORD: example123
    volumes:
      - db_data:/var/lib/mysql

  wordpress:
    image: wordpress:php8.2-apache
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: example123
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - ./wp_data:/var/www/html

volumes:
  db_data:

✅ 3. nginx-proxy + certbot (도메인 기반 라우팅)

공용 프록시 디렉토리: /srv/docker/proxy

docker network create nginx-proxy

docker-compose.yml 예:

version: '3'
services:
  nginx-proxy:
    image: jwilder/nginx-proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
    networks:
      - nginx-proxy

  letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion
    environment:
      NGINX_PROXY_CONTAINER: nginx-proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - nginx-proxy

networks:
  nginx-proxy:
    external: true

✅ 4. Portainer 설치 (Docker 관리 GUI)

docker volume create portainer_data

docker run -d \
  -p 9000:9000 \
  --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce

웹 접속: http://[your_vm_ip]:9000


✅ 5. 기타 추천 앱

앱 이름 설명 포트
Adminer DB 관리 웹 UI 8081
FastAPI 백엔드 API 서버 8000
Youngcart 콘텐츠 입력 UI (PHP 기반 CMS) 8082
XE3 Laravel 기반 백엔드 플랫폼 8083

🧠 권장 네이밍 규칙

목적 컨테이너명 예시 디렉토리
워드프레스 wordpress_app /srv/docker/wordpress
DB 서버 mariadb_service /srv/docker/db
프록시 nginx_proxy /srv/docker/proxy
백엔드 API fastapi_server /srv/docker/fastapi

🏁 다음 단계 요약

  • Docker 설치 완료
  • 서비스별 디렉토리 구조 정리
  • Docker Compose 샘플 구성
  • nginx-proxy로 포트 통합
  • 실전 앱 (WP, XE3, FastAPI 등) 순차 구축

✍️ 작성자: kang
🗓️ 작성일: 2025-05-27 (Tue) 12:44
#Docker #DevOps #DockerCompose #Ubuntu서버 #개발환경구축 #nginxProxy #Portainer

댓글