發生的狀況是從舊的docker server匯出container並使用另外一台機器匯入
#匯出
docker export test > test.tar
複製到另外一台機器
scp test.tar user@1.2.3.4:/home/user
先登入到另外一台機器後下指令
#匯入
cat test.tar | docker import - local/test
接著要試跑的時候下
docker run -idt -p 8080:8080 local/test:latest
出現了下面這個訊息
docker: Error response from daemon: No command specified.
See 'docker run --help'.
主要是因為docker export是導出文件系統,而不是container內的所有東西,所以在其他地方匯入時,需要指定command來讓他執行
所以要回到舊的docker server查一下
docker ps
CONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES
1232312312 test:latest "/bin/bash" 5 months ago Up 10 weeks test
這裡就會看到他的command是在/bin/bash,所以我們就可以在新的機器下該指令
docker run -idt -p 8080:8080 local/test:latest /bin/bash
沒意外應該會回傳container id,我們再用docker ps去查詢看看是不是有跑起來了
docker ps
CONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES
123123123 local/test:latest "/bin/bash" About a minute ago Up About a minute 0.0.0.0:8080->8080/tcp some_alias_name