GVKun编程网logo

Docker 本地导入镜像 / 保存镜像 / 载入镜像 / 删除镜像(docker本地镜像导出)

12

如果您对Docker本地导入镜像/保存镜像/载入镜像/删除镜像和docker本地镜像导出感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解Docker本地导入镜像/保存镜像/载入镜像/删除镜像的各

如果您对Docker 本地导入镜像 / 保存镜像 / 载入镜像 / 删除镜像docker本地镜像导出感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解Docker 本地导入镜像 / 保存镜像 / 载入镜像 / 删除镜像的各种细节,并对docker本地镜像导出进行深入的分析,此外还有关于08.docker载入镜像、docke/docker-composer未导入镜像前配置、docker load:导入镜像到本地、docker 保存和导入镜像的实用技巧。

本文目录一览:

Docker 本地导入镜像 / 保存镜像 / 载入镜像 / 删除镜像(docker本地镜像导出)

Docker 本地导入镜像 / 保存镜像 / 载入镜像 / 删除镜像(docker本地镜像导出)

1、Docker 导入本地镜像

有时候我们自己在本地或者其它小伙伴电脑上拷贝了一份镜像,有了这个镜像之后,我们可以把本地的镜像导入,使用 docker import 命令。

例如这里下载了一个 alibaba-rocketmq-3.2.6.tar.gz 镜像文件,使用下列命令导入:

[root@rocketmq-nameserver4 dev]# cat alibaba-rocketmq-3.2.6.tar.gz | docker import - rocketmq:3.2.6(镜像名自己定义)
[root@rocketmq-nameserver4 dev]# docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
rocketmq                     3.2.6               53925d1cf9f0        23 seconds ago      14MB
my/python                    v1                  36b6e288656c        2 days ago          281MB
my/centos_width_python       v1.0.1              36b6e288656c        2 days ago          281MB
my/sinatra                   v2                  8ba1d6a3ce4e        2 days ago          453MB
hello-world                  latest              725dcfab7d63        4 months ago        1.84kB

可以看到导入完成后,docker 为我们生成了一个镜像 ID,使用 docker images 也可以看到我们刚刚从本地导入的镜像。

注意镜像文件必须是 tar.gz 类型的文件。

[root@rocketmq-nameserver4 dev]# docker run -it rocketmq:3.2.6 /bin/bash ## 启动导入本地镜像,会报如下异常
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory".

解决方案: 暂时无解,有知道的兄台请在下面留言,在此先谢了。


2、保存镜像
我们的镜像做好之后,我们要保存起来,以供备份使用,该怎么做?使用 docker save 命令,保存镜像到本地。

[root@rocketmq-nameserver4 dev]# docker save -o rocketmq.tar rocketmq ##-o:指定保存的镜像的名字;rocketmq.tar:保存到本地的镜像名称;rocketmq:镜像名字,通过"docker images"查看
[root@rocketmq-nameserver4 dev]# ll


rocketmq.tar 为刚保存的镜像

3、载入镜像
我们有了本地的镜像文件,在需要的时候可以使用 docker load 将本地保存的镜像再次导入 docker 中。
docker load --input rocketmq.tar 或 docker load < rocketmq.tar



4、删除镜像
有些镜像过时了,我们需要删除。使用如下的命令:docker rmi -f image_id ##-f:表示强制删除镜像;image_id:镜像 id


 

08.docker载入镜像

08.docker载入镜像

存出镜像

如果要导出镜像到本地文件,可以使用 docker save 命令。

$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu              14.04               c4ff7513909d        5 weeks ago         225.4 MB
...
$sudo docker save -o ubuntu_14.04.tar ubuntu:14.04

载入镜像

可以使用 docker load 从导出的本地文件中再导入到本地镜像库,例如

$ sudo docker load --input ubuntu_14.04.tar

$ sudo docker load < ubuntu_14.04.tar

这将导入镜像以及其相关的元数据信息(包括标签等)。

docke/docker-composer未导入镜像前配置

docke/docker-composer未导入镜像前配置

  更新 apt 包索引与升级

sudo apt-get update
sudo apt-get upgrade

  安装 apt 依赖包,用于通过HTTPS来获取仓库:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

 添加 Docker 的官方 GPG 密钥:

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥。

sudo apt-key fingerprint 0EBFCD88
   
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unkNown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

  设置稳定版仓库

sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  stable"

  要安装特定版本的 Docker Engine-Community,请在仓库中列出可用版本,然后选择一种安装。列出您的仓库中可用的版本:

apt-cache madison docker-ce

  docker-ce | 5:18.09.1~3-0~ubuntu-xenial | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 5:18.09.0~3-0~ubuntu-xenial | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 18.06.1~ce~3-0~ubuntu       | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 18.06.0~ce~3-0~ubuntu       | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  xenial/stable amd64 Packages
  ...

  使用第二列中的版本字符串安装特定版本,例如 5:18.09.1~3-0~ubuntu-xenial

sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

  简易直接安装

sudo apt-get install docker-ce

  测试 Docker 是否安装成功

sudo docker run hello-world

  使用 Shell 脚本进行安装

Docker 在 get.docker.com 和 test.docker.com 上提供了方便脚本,用于将快速安装 Docker Engine-Community 的边缘版本和测试版本。脚本的源代码在 docker-install 仓库中。 不建议在生产环境中使用这些脚本,在使用它们之前,您应该了解潜在的风险:

  • 脚本需要运行 root 或具有 sudo 特权。因此,在运行脚本之前,应仔细检查和审核脚本。

  • 这些脚本尝试检测 Linux 发行版和版本,并为您配置软件包管理系统。此外,脚本不允许您自定义任何安装参数。从 Docker 的角度或您自己组织的准则和标准的角度来看,这可能导致不支持的配置。

  • 这些脚本将安装软件包管理器的所有依赖项和建议,而无需进行确认。这可能会安装大量软件包,具体取决于主机的当前配置。

  • 该脚本未提供用于指定要安装哪个版本的 Docker 的选项,而是安装了在 edge 通道中发布的最新版本。

  • 如果已使用其他机制将 Docker 安装在主机上,请不要使用便捷脚本。

本示例使用 get.docker.com 上的脚本在 Linux 上安装最新版本的Docker Engine-Community。要安装最新的测试版本,请改用 test.docker.com。在下面的每个命令,取代每次出现 get 用 test。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

  如果要使用 Docker 作为非 root 用户,则应考虑使用类似以下方式将用户添加到 docker 组

sudo usermod -aG docker your-user

  docker-compose的安装不推荐pip安装,无论如何都会失败,用以下官方提供的方法:

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

  docker pull镜像加速源配置,docker-compose和docker共用一个,下列命令行执行完后直接重启docker服务,如果docker镜像下载速度缓慢,则重新启动系统可解决这个问题

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://fudfkcar.mirror.aliyuncs.com"]
}
EOF

  

 

docker load:导入镜像到本地

docker load:导入镜像到本地

加载镜像

docker load:导入镜像到本地

语法:docker load [OPTIONS]

1.OPTIONS说明

-i:从tar文件读取
-q:禁止读入输出

2.将mytomcat_v1.tar 导入到本地镜像

docker load -i mytomcat_v1.tar

docker 保存和导入镜像

docker 保存和导入镜像

2、保存镜像
我们的镜像做好之后,我们要保存起来,以供备份使用,该怎么做?使用docker save命令,保存镜像到本地。

[root@rocketmq-nameserver4 dev]# docker save -o rocketmq.tar rocketmq ##-o:指定保存的镜像的名字;rocketmq.tar:保存到本地的镜像名称;rocketmq:镜像名字,通过"docker images"查看
[root@rocketmq-nameserver4 dev]# ll 


rocketmq.tar为刚保存的镜像

3、载入镜像
我们有了本地的镜像文件,在需要的时候可以使用docker load将本地保存的镜像再次导入docker中。
docker load --input rocketmq.tar 或 docker load < rocketmq.tar

4、删除镜像
有些镜像过时了,我们需要删除。使用如下的命令:docker rmi -f image_id ##-f:表示强制删除镜像;image_id:镜像id

 

关于Docker 本地导入镜像 / 保存镜像 / 载入镜像 / 删除镜像docker本地镜像导出的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于08.docker载入镜像、docke/docker-composer未导入镜像前配置、docker load:导入镜像到本地、docker 保存和导入镜像等相关知识的信息别忘了在本站进行查找喔。

本文标签: