自分のPCでdockerを作りあげ、それを他の閉鎖系システムに運んで運用してみる.

「移行」としては下記のような区分かなと思っている

区分From(export)To(他のシステムへimport)作業としては
コンテナで作った環境docker imagedocker loaddockerイメージにしてtarでまとめて他で展開
docker container ->imageへdocker loadcontainerからimageにcommitさせてdocker saveでtarにして他へ展開
docker image -> SingularitySingularitydocker imageをSingularity imageに変換して他へ展開
conda環境conda packtar xf , conda-unpackconda環境をpackしてtarファイルを作り、それを他へ展開

condaの場合FromのOSとToのOSが同じか互換があるものが望ましい

出発点は docker image、もしくはimageから起こしたコンテナにいろいろ手を加えたものとします。

まずは export です. すでに閉鎖系で使用したいdocker imageがあるなら「docker save」でimageをtarファイルに纏めます

dockerでdocker環境が構築済みであるとします.

[saber@rockylinux9 ~]$ docker pull trinityctat/starfusion
[saber@rockylinux9 ~]$ docker images
REPOSITORY               TAG       IMAGE ID       CREATED       SIZE
trinityctat/starfusion   latest    ab3ba205d827   4 weeks ago   5.69GB
 :
[saber@rockylinux9 ~]$
 
 
(コンテナを移設したいなら commit してdocker image にします)
[saber@rockylinux9 ~]$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[saber@rockylinux9 ~]$ docker ps -a
CONTAINER ID   IMAGE                                    COMMAND                  CREATED              STATUS                     PORTS     NAMES
60beb1135263   nvidia/cuda:11.8.0-runtime-ubuntu22.04   "/opt/nvidia/nvidia_…"   About a minute ago   Exited (0) 8 seconds ago             bold_noyce
 
[saber@rockylinux9 ~]$ docker commit 60beb1135263 cuda-ubuntu 
 
[saber@rockylinux9 ~]$ docker images
REPOSITORY               TAG                          IMAGE ID       CREATED         SIZE
cuda-ubuntu              latest                       9ff7c95eaa89   3 seconds ago   2.65GB     <--コンテナをimageにしました
 :
[saber@rockylinux9 ~]$

これをtarファイルに纏めます「docker save -o nvidia」

[saber@rockylinux9 ~]$ docker save -o trinityctat-starfusion-latest.tar  trinityctat/starfusion:latest
 
[saber@rockylinux9 ~]$ docker save -o cuda-ubuntu-latest.tar  cuda-ubuntu:latest
 
[saber@rockylinux9 ~]$ ls -lh
total 7.9G
-rw-------. 1 saber saber 2.5G Jun  8 12:19 cuda-ubuntu-latest.tar
-rw-------. 1 saber saber 5.4G Jun  8 12:15 trinityctat-starfusion-latest.tar
 
[saber@rockylinux9 ~]$

っでこれらできた tar ファイルを閉鎖系に持っていきます

閉鎖系のdockerを使って

docker load -i trinityctat-starfusion-latest.tar

とすればdockerがそこに植えられます

Singularityを使って閉鎖系に持ち込みたい

rootless dockerとして使えるならいいけど、/etc/group の docker でdockerを利用可能にしてるなら他者に自分のdockerが見られてしまいます

まずは環境整備でSingularityを入れます

[root@rockylinux9 ~]# dnf install epel-release
[root@rockylinux9 ~]# dnf --enablerepo=epel install apptainer apptainer-suid -y
 
[root@rockylinux9 ~]# singularity config fakeroot --add saber

っで変換してみる

[saber@rockylinux9 ~]$ docker images
REPOSITORY               TAG                          IMAGE ID       CREATED         SIZE
trinityctat/starfusion   latest                       ab3ba205d827   5 weeks ago     5.69GB
nvidia/cuda              11.8.0-runtime-ubuntu22.04   d8fb74ecc8b2   19 months ago   2.65GB
 
[saber@rockylinux9 ~]$
[saber@rockylinux9 ~]$ singularity build trinityctat-starfusion-last.sif docker-daemon://trinityctat/starfusion:latest
 
[saber@rockylinux9 ~]$ ls -lh
total 2.0G
-rwxr-xr-x. 1 saber saber 2.0G Jun  9 22:07 trinityctat-starfusion-last.sif
[saber@rockylinux9 ~]$
[saber@rockylinux9 ~]$ singularity shell trinityctat-starfusion-last.sif
Apptainer>
Apptainer> STAR-Fusion
 
 
############################################################################################
#
#      _________________________ __________         ___________           .__
#     /   _____/\__    ___/  _  \\______   \        \_   _____/_ __  _____|__| ____   ____
#     \_____  \   |    | /  /_\  \|       _/  ______ |    __)|  |  \/  ___/  |/  _ \ /    \
#     /        \  |    |/    |    \    |   \ /_____/ |     \ |  |  /\___ \|  (  <_> )   |  \
#    /_______  /  |____|\____|__  /____|_  /         \___  / |____//____  >__|\____/|___|  /
#            \/                 \/       \/              \/             \/               \/
#
#
############################################################################################
#
 :
 :
Apptainer> 
Apptainer> exit
exit
[saber@rockylinux9 ~]$

一方で既にコンテナになっているdockerは一旦docker imageにします。それから変換します

[saber@rockylinux9 ~]$ docker ps -a
CONTAINER ID   IMAGE                                    COMMAND                  CREATED        STATUS                    PORTS     NAMES
60beb1135263   nvidia/cuda:11.8.0-runtime-ubuntu22.04   "/opt/nvidia/nvidia_…"   34 hours ago   Exited (0) 34 hours ago             bold_noyce
 
[saber@rockylinux9 ~]$ docker commit 60beb1135263 cuda-ubuntu
sha256:df4751cd472f93c04fe2dc701376f4e115bef7b1c5d1c4519867452322706197
 
[saber@rockylinux9 ~]$ docker images
REPOSITORY               TAG                          IMAGE ID       CREATED         SIZE
cuda-ubuntu              latest                       df4751cd472f   8 seconds ago   2.65GB
trinityctat/starfusion   latest                       ab3ba205d827   5 weeks ago     5.69GB
nvidia/cuda              11.8.0-runtime-ubuntu22.04   d8fb74ecc8b2   19 months ago   2.65GB
[saber@rockylinux9 ~]$
 
[saber@rockylinux9 ~]$ singularity build nvidia-cuda.sif docker-daemon://cuda-ubuntu:latest
 
[saber@rockylinux9 ~]$ ls -lh
total 3.4G
-rwxr-xr-x. 1 saber saber 1.4G Jun  9 22:14 nvidia-cuda.sif
-rwxr-xr-x. 1 saber saber 2.0G Jun  9 22:07 trinityctat-starfusion-last.sif
[saber@rockylinux9 ~]$

作ったsif を移設先に持っていけば使えます。

最新の60件
2025-07-13 2025-07-12 2025-07-11 2025-07-05 2025-07-02 2025-07-01 2025-06-29 2025-06-24 2025-06-23 2025-06-21 2025-06-18 2025-06-15 2025-06-14 2025-06-11 2025-06-09
  • conda
  • docker/export-import
2025-06-08 2025-06-07 2025-06-05 2025-06-02 2025-06-01 2025-05-31 2025-05-30 2025-05-25 2025-05-22 2025-05-21 2025-05-20 2025-05-18 2025-05-17 2025-05-14 2025-05-13 2025-05-12 2025-05-11 2025-05-08 2025-05-07 2025-05-06 2025-05-05 2025-05-04 2025-05-03

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-06-09 (月) 22:16:07