docker container 백업하는 방법

sangwoo noh·2023년 4월 25일
0

Docker

목록 보기
18/22
post-custom-banner

Docker에서 현재 실행 중인 컨테이너의 모든 내용을 다른 컴퓨터로 복사하는 방법은 크게 두 가지가 있습니다.

첫 번째 방법은 Docker 이미지를 사용하는 것입니다. 현재 실행 중인 컨테이너에서 Docker 이미지를 만든 다음, 이 이미지를 다른 컴퓨터로 전송하여 컨테이너를 실행하는 것입니다. 이 방법은 컨테이너의 내용을 완전히 복제할 수 있지만, 이미지 크기가 크다는 단점이 있습니다.

  1. 현재 실행 중인 컨테이너의 ID를 확인합니다. 이를 위해서는 docker ps 명령어를 사용합니다.
$ docker ps
CONTAINER ID   IMAGE           COMMAND                  CREATED          STATUS          PORTS     NAMES
05e5ce57f548   nginx:latest    "/docker-entrypoint.…"   5 seconds ago    Up 4 seconds    80/tcp    webserver
  1. 현재 실행 중인 컨테이너에서 Docker 이미지를 만듭니다. 이를 위해서는 docker commit 명령어를 사용합니다.
$ docker commit 05e5ce57f548 my-nginx
sha256:3e7c4c4e7124adad9fb6efb1e7e328f191e4f7d998c0d3f7c4d4b4ad7c0f7393

이 명령어는 05e5ce57f548 ID를 가진 컨테이너를 기반으로 my-nginx라는 새로운 Docker 이미지를 만듭니다. sha256:3e7c4c4e7124adad9fb6efb1e7e328f191e4f7d998c0d3f7c4d4b4ad7c0f7393는 새로 만든 이미지의 ID입니다.

  1. 새로 만든 Docker 이미지를 파일로 저장합니다. 이를 위해서는 docker save 명령어를 사용합니다.
$ docker save -o my-nginx.tar my-nginx

이 명령어는 my-nginx 이미지를 my-nginx.tar 파일로 저장합니다.

  1. 파일을 다른 컴퓨터로 전송합니다.

  2. 다른 컴퓨터에 Docker 이미지를 로드합니다. 이를 위해서는 docker load 명령어를 사용합니다.

$ docker load -i my-nginx.tar

이 명령어는 my-nginx.tar 파일에서 Docker 이미지를 로드합니다.

6.다른 컴퓨터에서 컨테이너를 실행합니다. 이를 위해서는 docker run 명령어를 사용합니다.

$ docker run -d -p 80:80 my-nginx

이 명령어는 my-nginx 이미지를 기반으로 container를 실행하는 방법입니다.

profile
하기로 했으면 하자
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 6월 1일

두번째 방법은 없나요?

답글 달기