728x90
728x90
Docker의 mariadb, mongodb, postgres 데이터를 다른 서버로 옮기기
개발을 하다 보면 서버의 용량문제나 서버 증축으로 인해서 데이터들을 옮겨야 할 때가 있는데
이때 docker에 있던 db나 데이터들을 옮겨야 하는데 이게 또 마냥 귀찮을 때가 있다
그래서 이번 포스팅만 보면 보다 손쉽게 옮길 수 있는 방법을 알려드리겠습니다
docker의 정보 확인하고 옮기기
방법은 mariadb, mongodb, postgres 셋다 동일하게 진행하시면 됩니다
먼저 docker ps로 containerID를 확인하고 docker inspect로 docker의 데이터를 확인해 줍니다
확인해야 할 정보는
👉 PortBindings : docker run에 -p를 담고 있는 정보입니다 (p : 포트)
👉 Mounts : docker run에서 -v를 담고 있는 정보입니다 (v : 볼륨)
👉 Env : docker run에 -e를 담고 있는 정보입니다 (e : 환경변수)
나머지 정보는 docker ps 명령어로 아래의 정보들을 확인해 줍니다
👉 IMAGE : 사용하는 이미지 정보
👉 PORTS :(안 보일 때는 docker inspect로 확인) : 포트 정보
👉 NAMES : 설정한 이름 정보
그럼 다음 아래의 명령어로 받을 서버에서 실행시켜 줍니다
docker run --restart=always -d -p 20003:3306 --name mariadb-public -e MARIADB_ROOT_PASSWORD=... -e MARIADB_DATABASE=... -e MARIADB_USER=... -e MARIADB_PASSWORD=... -v /docker-apps/mariadb:/var/lib/mysql mariadb:10.7.1-focal //📲 옵션별 docker run --restart=always -d -p 20003:3306 --name mariadb-public -e MARIADB_ROOT_PASSWORD=... -e MARIADB_DATABASE=... -e MARIADB_USER=... -e MARIADB_PASSWORD=... -v /docker-apps/mariadb:/var/lib/mysql mariadb:10.7.1-focal
💡 --restart=always : 서버가 재시작되면 알아서 restart 해주는 옵션
💡 -d : 백그라운드에서도 돌아가게 하는 옵션
💡 -p 20003:3306 : 20003 포트를 3306에 매핑하는 옵션
💡 --name mariadb-public : 컨테이너의 이름을 mariadb-public로 하는 옵션
💡 -e... : key = value 값으로 환경변수를 지정하는 옵션
💡 -v /docker-apps/mariadb:/var/lib/mysql : 서버에 있는 docker-apps/mariadb 폴더에
docker 컨테이너의 /var/lib/mysql 폴더에 연결해주는 옵션
그 뒤에 옮긴 서버에서 docker ps로 잘 실행되었는지 확인해 줍니다
docker-apps의 데이터 옮기기
이제는 scp를 사용해서 docker-apps의 데이터를 새로운 서버로 옮겨줍니다
먼저 옮겨야 하는 서버에서 수행해 줍니다
✍ scp 사용방법 scp -r docker-apps/{mariadb,mongodb,postgers} User@125.0.0.1:/docker-apps 👉 -r : 하위 폴더들 포함 👉 docker-apps/{mariadb,mongodb,postgres} : 옮길 폴더 경로({}로 지정가능) 👉 User@125.0.0.1: : 받을 user와 host 정보 👉 /docker-apps : 받을 경로
📌 그런데 여기에서 옮기는데 Permission denied 오류가 발생할 때가 있다 해결방법은 아래와 같다
그리고 다시 새로운 서버로 db가 접속이 되는지 데이터는 있는지를 확인해 보시면 됩니다
이번 포스팅으로 서버에서 다른 서버로 docker를 옮길 때 과정을 알아보았습니다
도움이 되었으면 좋겠습니다
그럼 코딩이 쉬워지는 그날까지!!
728x90
300x250
'CODE > Docker' 카테고리의 다른 글
Docker hub push 해보기 (만든 image 올려보기) (0) | 2023.12.26 |
---|---|
docker 이미지를 tar file로 사용하기 (save & load, export & import) (1) | 2023.12.26 |
Docker build (빌드) 해보기 (1) | 2023.12.26 |
Docker 자주 쓰는 명령어! (2) | 2023.12.26 |
Docker는 무엇이길래 다들 사용하나? (4) | 2023.12.26 |