docker 容器导入导出(export/impo)教程

版权声明:本文为博主原创文章,欢迎转载。转载请注明出处 https://blog.csdn.net/jobbofhe/article/details/84545530
  1. 查看当前运行的容器
[root@localhost ~]# docker ps -a 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
8aac100dd301        1e20acd39495        "/bin/bash"         4 days ago          Up 44 hours         0.0.0.0:8002->8888/tcp   cuda
  1. 导出该容器
[root@localhost ~]# docker export 8aac100dd301 > container_run.tar
[root@localhost ~]# ls 
container_run.tar

导出成功

  1. 将打出镜像拷贝至另一台服务器
  2. 导入容器
docker import  container_run.tar vision/centos:v1.0.1
  1. 查看镜像
[root@localhost envs]# docker images 
REPOSITORY                              TAG                          IMAGE ID            CREATED             SIZE
vision/centos                           v1.0.1                       5a16c9b914ff        About an hour ago   6.03GB
  1. 运行
[root@localhost envs]#  docker run --runtime=nvidia -d -it --name vision_run_1.0.1 -e NVIDIA_VISIBLE_DEVICES=0 -e NVIDIA_DRIVER_CAPABILITIES=compute,video,utility --volume  /usr/local/cuda/lib64:/usr/local/cuda/lib64 -v /output:/home/out  5a16c9b914ff

发现启动不了,报错:

docker: Error response from daemon: invalid restart policy '--runtime=nvidia'.
  1. 原因分析
    系统在运行容器的时候默认加上了 /bin/bash 指令,导出容器之后运行时系统不会自动加上该命令,所以导致出错。
    在这里插入图片描述
  2. 解决方法
    在启动命令结尾 追加 /bin/bash 指令
docker run --runtime=nvidia -d -it --name vision_run_1.0.1 -e NVIDIA_VISIBLE_DEVICES=0 -e NVIDIA_DRIVER_CAPABILITIES=compute,video,utility --volume  /usr/local/cuda/lib64:/usr/local/cuda/lib64 -v /icooper/vision_output:/icooper  5a16c9b914ff  /bin/bash

猜你喜欢

转载自blog.csdn.net/jobbofhe/article/details/84545530