docker export import后,导入镜像,启动时的错误,Error response from daemon: No command specified

时间:2023-03-08 17:04:39
docker export import后,导入镜像,启动时的错误,Error response from daemon: No command specified

Docker的流行与它对容器的易分享和易移植密不可分,用户不仅可以把容器提交到公共服务器上,还可以把容器导出到本地文件系统中。同样,我们也可以把导出的容器重新导入到Docker运行环境中。Docker的容器导入导出分别用import和export命令完成。

1、导出容器export

注意:export导出的是容器,不是镜像。

  1. docker export <CONTAINER ID > > my_container.tar

docker export 命令会把容器的文件系统以tar包的格式导出到标准输出。将容器保存到本地后,我们就可以通过网络等方式将tar包分享给他人。

2、导入容器为镜像import

  1. cat my_container.tar |docker import - image_name:tag

3、查看导入的镜像

  1. docker images
  1. [root@localhost ~]# docker images
  2. REPOSITORY                            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
  3. clj_mysql                             5.6.28              d397fa7d51e3        About an hour ago   322.4 MB
  4. daocloud.io/library/mysql             5.6.28              6992b0d06649        3 weeks ago         324.2 MB
  5. index.tenxcloud.com/tenxcloud/mysql   latest              ba0c7864ab1e        3 months ago        470.9 MB

4、运行导入的镜像

  1. docker run --name clj_mysql_3 -e MYSQL_ROOT_PASSWORD=123456  -d -p 33062:3306 clj_mysql:5.6.28 /entrypoint.sh mysqld

注意:运行导入的镜像的时候必须带command,否则启动报如下错误

  1. FATA[0000] Error response from daemon: No command specified

具体的command需要在导出容器的时候通过docker ps查看到。

    1. [root@localhost ~]# docker ps
    2. CONTAINER ID        IMAGE                              COMMAND                CREATED             STATUS              PORTS                     NAMES
    3. f90c4887c320        clj_mysql:5.6.28                   "/entrypoint.sh mysqld   4 seconds ago       Up 4 seconds        0.0.0.0:33062->3306/tcp   clj_mysql_3
    4. 8ec92a7f18db        daocloud.io/library/mysql:5.6.28   "/entrypoint.sh mysqld   59 minutes ago      Up 25 minutes       0.0.0.0:33061->3306/tcp   clj_mysql