發生的狀況是從舊的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