반응형
Docker 네트워크 및 볼륨 관리 실습 가이드
Docker의 핵심 기능인 네트워크 및 볼륨을 활용하여 간단한 WordPress 환경을 구축하는 방법을 정리했습니다.
1. Docker 사용자 정의 네트워크 생성
docker network create --subnet 10.0.0.0/24 --gateway 10.0.0.1 babo
2. 생성된 네트워크에 컨테이너 연결
docker run -itd --net babo --name aa1 alpine
# 네트워크 추가 및 삭제
docker network connect bridge aa1
docker network disconnect bridge aa1
3. 컨테이너 간 통신(Link 및 host 추가)
- link 옵션 사용
docker run -itd --name a2 --link a1:babo alpine
- 호스트 직접 추가
docker run -itd --add-host a2:172.17.0.3 --add-host a3:172.17.0.4 --name a1 alpine
4. 네트워크 모드 사용
- host 모드
docker run -itd --net host --name n1 nginx
- none 모드
docker run -itd --net none --name a1 alpine
5. MySQL 및 WordPress 환경 구축
- MySQL 컨테이너 생성 (볼륨과 바인드 마운트 사용)
mkdir /mysql
docker run -itd -p 63306:3306 -v /mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=It12345! \
-e MYSQL_DATABASE=wordpress --name m1 mysql:8.0
- WordPress 컨테이너 생성 및 MySQL과 연결
docker run -itd -p 65080:80 --net bridge \
-e WORDPRESS_DB_HOST=192.168.0.12:63306 \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=It12345! \
-e WORDPRESS_DB_NAME=wordpress --name w1 wordpress
6. Docker Volume 관리
- 볼륨 생성 및 활용
docker volume create babo
# 데이터 확인
touch /var/lib/docker/volumes/babo/_data/volume.txt
7. Rocky Linux 서버 간 WordPress 연동 구성
- Rocky9-1 서버 (WordPress 컨테이너)
docker run -itd -p 65080:80 -e WORDPRESS_DB_HOST=172.17.0.2 \
-e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=It12345! \
-e WORDPRESS_DB_NAME=wordpress --name w1 wordpress
- Rocky9-2 서버 (MySQL 컨테이너 - Host 네트워크 사용)
mkdir /mysql
docker run -itd --network host -v /mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=It12345! \
-e MYSQL_DATABASE=wordpress --name m2 mysql:8.0
# 방화벽 설정
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
8. 네이버 클라우드(Ncloud)에서 실습 환경 구축하기
- VPC 환경 구축 및 Docker 설치
- MySQL 및 WordPress 컨테이너 배포
9. 클라우드에서 Docker 자동 설치 및 환경 구성 스크립트
아래 스크립트를 사용하면 CentOS/Rocky Linux 환경에서 자동으로 Docker와 필요한 이미지를 설치하고 MySQL과 WordPress 환경까지 구성할 수 있습니다.
#!/bin/bash
dnf -y install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce docker-ce-cli containerd.io
systemctl enable --now docker
docker pull mysql:8.0
docker pull wordpress
docker run -itd --network bridge -e MYSQL_ROOT_PASSWORD=It12345! -e MYSQL_DATABASE=wordpress --name m1 mysql:8.0
docker run -itd -p 65080:80 -e WORDPRESS_DB_HOST=172.17.0.2 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=It12345! -e WORDPRESS_DB_NAME=wordpress --name w1 wordpress
이 내용을 따라하면 Docker 네트워크 및 볼륨 관리 능력을 향상시킬 수 있으며, WordPress 같은 웹 서비스를 컨테이너화하여 손쉽게 관리할 수 있습니다.
반응형
'컨테이너' 카테고리의 다른 글
Dockerfile을 이용한 다양한 서비스 컨테이너 이미지 만들기 (0) | 2025.03.12 |
---|---|
Docker(Rocky Linux) 기초 사용법: 컨테이너 기초 (0) | 2025.03.10 |