7.1 유용한 유틸리티 목록
Docker에서 데이터 작업은 볼륨 관리, 백업, 복원, 모니터링 및 분석과 같은 다양한 작업을 포함해. 그리고 이러한 작업들을 더 간단하고 효율적으로 하기 위해 여러 유틸리티들이 존재해. 이 강의에서는 Docker 컨테이너에서 데이터 작업을 도와주는 몇 가지 유용한 유틸리티, 그 기능 및 사용 예제를 살펴볼 거야.
Docker에서 데이터 작업을 위한 유용한 유틸리티:
- Docker Volume Backup/Restore
- Rclone
- Restic
- Minio
- Portainer
- Docker Compose
- Logrotate
7.2 Docker Volume Backup/Restore
이 유틸리티는 Docker 볼륨의 백업을 쉽게 생성하고 복구할 수 있게 해줘. Go로 작성되었고, 데이터 백업 및 복구 프로세스를 단순화하기 위해 설계되었어.
설치:
공식 GitHub 리포지토리에서 유틸리티를 다운로드하고 설치해:
터미널
wget https://github.com/offen/docker-volume-backup/releases/download/v0.3.0/docker-volume-backup_0.3.0_linux_amd64.tar.gz
tar -xvzf docker-volume-backup_0.3.0_linux_amd64.tar.gz
sudo mv docker-volume-backup /usr/local/bin/
백업 생성:
docker-volume-backup backup my_volume my_backup.tar.gz
백업에서 복구:
docker-volume-backup restore my_backup.tar.gz my_volume
7.3 Rclone
Rclone — 클라우드 스토리지에서 파일을 관리하기 위한 강력한 유틸리티야. 다양한 클라우드 서비스를 지원하고 데이터 동기화, 백업 및 복구에 사용할 수 있어.
설치:
Rclone을 시스템에 설치하려면 공식 웹사이트에 나와 있는 지침을 따르세요:
curl https://rclone.org/install.sh | sudo bash
설정:
자신의 클라우드 스토리지와의 연결을 설정하세요:
rclone config
데이터 동기화:
rclone sync /path/to/local/dir remote:bucket
7.4 Restic
Restic — 빠르고, 안전하고 효율적인 데이터 백업용 유틸리티야. 이 유틸리티는 데이터 중복 제거와 암호화를 지원해.
설치:
Restic을 다운로드하고 설치해:
wget https://github.com/restic/restic/releases/download/v0.12.0/restic_0.12.0_linux_amd64.bz2
bzip2 -d restic_0.12.0_linux_amd64.bz2
chmod +x restic_0.12.0_linux_amd64
sudo mv restic_0.12.0_linux_amd64 /usr/local/bin/restic
저장소 초기화:
restic init --repo /path/to/repo
백업 생성:
restic -r /path/to/repo backup /path/to/data
데이터 복구:
restic -r /path/to/repo restore latest --target /path/to/restore
7.5 Minio
Minio — 고성능 S3 호환 객체 저장소야. 로컬 또는 클라우드 데이터를 저장하는 데 사용할 수 있어.
설치:
Minio 설치를 위해 공식 웹사이트의 지침을 따라줘:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
Minio 실행:
minio server /data
Minio 클라이언트 설정:
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
mc alias set myminio http://localhost:9000 minioadmin minioadmin
데이터 업로드:
mc cp /path/to/data myminio/mybucket
7.6 Portainer
Portainer는 Docker와 Docker Swarm 관리를 위한 웹 인터페이스야. 이 도구는 컨테이너, 볼륨 및 네트워크 관리를 더 쉽게 해줘.
설치:
Portainer 컨테이너를 실행해:
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://localhost:9000로 이동해서 Portainer 인터페이스에 접근해봐.
7.7 Logrotate
Logrotate — 로그 파일 관리를 위한 유틸리티야. 이걸 사용하면 로그를 자동으로 회전시키고, 압축하거나 오래된 로그를 삭제할 수 있어.
설치:
시스템에 Logrotate을 설치해봐:
sudo apt-get install logrotate
Logrotate 설정:
네 로그를 위한 설정 파일을 만들어 봐:
cat <<EOF | sudo tee /etc/logrotate.d/myapp
/var/log/myapp/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
EOF
설정 테스트:
Logrotate 설정을 확인해 봐:
sudo logrotate -d /etc/logrotate.d/myapp
GO TO FULL VERSION