dockerコンテナを別のマシンに移動するには
dockerコンテナを別のマシンに移動したいときに行うことを記述する。
私はこちらのサイトを参考にした。
流れは以下の通りだ。(赤文字は人によって異なる)
①dockerコンテナからdocker imageを作成する
$ docker commit my_docker_container my_docker_image
②docker imageをtarファイルとして保存する
$ docker save my_docker_image > my_docker_image.tar
③tarファイルを別のマシンに転送する
scp my_docker_image.tar machine2@xxx.xxx..xxx.xxx:/home/username/dir1
この作業には時間がかかる場合があるのでバックグラウンドでやることも可能。
以下のページでscpをバックグラウンドで実行する方法を載せている。
バックグラウンドでscpの処理を行う - jskangarooのブログ
④別のマシンでtarファイルからdocker imageをロードする
$ docker load < my_docker_image.tar
⑤ロードしたdocker imageからコンテナを作成する
$ docker run --gpus all --name my_docker_container --mount type=bind,source=/home/username/dir1,target=/mnt -it my_docker_image /bin/bash
(,後にスペースがない事に注意)