Docker에서 현재 실행 중인 컨테이너의 모든 내용을 다른 컴퓨터로 복사하는 방법은 크게 두 가지가 있습니다.
첫 번째 방법은 Docker 이미지를 사용하는 것입니다. 현재 실행 중인 컨테이너에서 Docker 이미지를 만든 다음, 이 이미지를 다른 컴퓨터로 전송하여 컨테이너를 실행하는 것입니다. 이 방법은 컨테이너의 내용을 완전히 복제할 수 있지만, 이미지 크기가 크다는 단점이 있습니다.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
05e5ce57f548 nginx:latest "/docker-entrypoint.…" 5 seconds ago Up 4 seconds 80/tcp webserver
$ docker commit 05e5ce57f548 my-nginx
sha256:3e7c4c4e7124adad9fb6efb1e7e328f191e4f7d998c0d3f7c4d4b4ad7c0f7393
이 명령어는 05e5ce57f548 ID를 가진 컨테이너를 기반으로 my-nginx라는 새로운 Docker 이미지를 만듭니다. sha256:3e7c4c4e7124adad9fb6efb1e7e328f191e4f7d998c0d3f7c4d4b4ad7c0f7393는 새로 만든 이미지의 ID입니다.
$ docker save -o my-nginx.tar my-nginx
이 명령어는 my-nginx 이미지를 my-nginx.tar 파일로 저장합니다.
파일을 다른 컴퓨터로 전송합니다.
다른 컴퓨터에 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를 실행하는 방법입니다.
두번째 방법은 없나요?