docker镜像的拉取登陆上传及保存等相关使用命令

目录
  • docker 中的三大基本概念
    • 镜像
    • 容器
    • 仓库
  • docker 镜像相关命令
    • 常用镜像仓库
    • 搜索镜像
    • 拉取镜像
    • 查看当前系统上的有哪些镜像
    • 获取镜像的详细信息
    • 登录镜像仓库
    • 为镜像标签
    • 镜像上传
    • 镜像的删除
    • 清空镜像
    • 查看镜像历史(镜像的构建历史)
    • 保存镜像(commit)
    • 保存镜像(import/export)
    • 保存镜像(save/load)
    • 保存镜像三种方式的区别

docker 中的三大基本概念

镜像

镜像就是启动一个容器的模板。

容器

容器就是对外提供服务的进程。或者容器就是镜像启动起来的一个实例。

仓库

仓库是用来存放镜像的地方。

docker 镜像相关命令

常用镜像仓库

官方仓库:hub.docker.com
自己的私有仓库:Harbor
阿里云私有仓库:registry.cn-hangzhou.aliyuncs.com

搜索镜像

#格式
	docker search [镜像名称]
# 实例

拉取镜像

# 格式
	docker pull [镜像名称]
# 实例
[root@Centos7 ~]# docker pull redis
Using default tag: latest
latest: Pulling from library/redis
# 镜像层
a076a628af6f: Already exists
f40dd07fe7be: Pull complete
ce21c8a3dbee: Pull complete
ee99c35818f8: Pull complete
56b9a72e68ff: Pull complete
3f703e7f380f: Pull complete
# 镜像ID号(镜像ID号是全球唯一)
Digest: sha256:0f97c1c9daf5b69b93390ccbe8d3e2971617ec4801fd0882c72bf7cad3a13494
# 镜像下载状态
Status: Downloaded newer image for redis:latest
# 镜像的全称(镜像的tag)
docker.io/library/redis:latest

查看当前系统上的有哪些镜像

# 格式
	docker images 或者 docker image ls
# 参数
-q : 只显示镜像ID
[root@Centos7 ~]# docker images -q
621ceef7494a
f6d0b4767a6c

获取镜像的详细信息

# 格式
	docker inspect [镜像名称或镜像ID]
# 参数
-f : 格式化输出
[root@Centos7 ~]# docker inspect -f '{{.Id}}' 621ceef7494a
sha256:621ceef7494adfcbe0e523593639f6625795cc0dc91a750629367a8c7b3ccebb
[root@Centos7 ~]# docker inspect -f '{{.ContainerConfig.Hostname}}' redis
16535cfaf84a

登录镜像仓库

# 格式
	docker login
	注: 默认情况下,docker login登录的是官方仓库,如果登录其他镜像仓库则需要指定镜像仓库的URL连接。
# 实例
	[root@Centos7 ~]# docker login registry.cn-hangzhou.aliyuncs.com
        Username: yangyang091022
        Password:
        WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
        Configure a credential helper to remove this warning. See
        https://docs.docker.com/engine/reference/commandline/login/#credentials-store
        Login Succeeded
	[root@Centos7 ~]# cat ~/.docker/config.json
    {
        "auths": {
            "registry.cn-hangzhou.aliyuncs.com": {
                "auth": "eWFuZ3lhbmcwOTEwMjI6Y2hlbjE4NzkwMDcwODMw"
            }
        }
    }
# 参数
--username|-u : 指定用户名
--password|-p : 指定密码

为镜像标签

# 镜像标签的构成
docker.io/library/redis:latest
docker.io  : 镜像仓库的URL
library    :镜像仓库命名空间
redis	   : 镜像名称
latest	   : 镜像版本号

# 打标签
	# 格式
		docker tag [镜像ID]  镜像标签
[root@Centos7 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
redis        latest    621ceef7494a   2 months ago   104MB
nginx        latest    f6d0b4767a6c   2 months ago   133MB
[root@Centos7 ~]# docker tag 621ceef7494a registry.cn-hangzhou.aliyuncs.com/alvinos/redis:v2
[root@Centos7 ~]# docker images
REPOSITORY                                        TAG       IMAGE ID       CREATED        SIZE
redis                                             latest    621ceef7494a   2 months ago   104MB
registry.cn-hangzhou.aliyuncs.com/alvinos/redis   v2        621ceef7494a   2 months ago   104MB
nginx                                             latest    f6d0b4767a6c   2 months ago   133MB

镜像上传

# 格式
	docker push [镜像标签]
# 注:要想上传镜像,首先得登录镜像仓库,其次设置对应镜像仓库的tag
[root@Centos7 ~]# docker push registry.cn-hangzhou.aliyuncs.com/alvinos/redis:v2
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/alvinos/redis]
3480f9cdd491: Pushed
a24a292d0184: Pushed
f927192cc30c: Pushed
1450b8f0019c: Pushed
8e14cb7841fa: Pushed
cb42413394c4: Pushed
v2: digest: sha256:7ef832c720188ac7898dbd8d1e237b0738e94f94fc7e981cb7b8efe84555e892 size: 1572

镜像的删除

# 格式
	docker rmi [镜像名称或者镜像ID]
# 实例
	[root@Centos7 ~]# docker rmi nginx
# 参数
	-f  : 强制删除
	[root@Centos7 ~]# docker rmi -f nginx
    Untagged: nginx:latest
    Untagged: nginx@sha256:10b8cc432d56da8b61b070f4c7d2543a9ed17c2b23010b43af434fd40e2ca4aa
 # 注:当有容器正在使用镜像时,强制删除镜像,只能删除镜像的所有tag, 不会删除镜像。

清空镜像

# 格式
	docker image prune
# 实例
	[root@Centos7 ~]# docker image prune
    WARNING! This will remove all dangling images.
    Are you sure you want to continue? [y/N] y
    Total reclaimed space: 0B
 # 参数
 -a : 删除所有镜像
 [root@Centos7 ~]# docker image prune -a
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
untagged: redis:latest
untagged: redis@sha256:0f97c1c9daf5b69b93390ccbe8d3e2971617ec4801fd0882c72bf7cad3a13494
untagged: registry.cn-hangzhou.aliyuncs.com/alvinos/redis:v2
untagged: registry.cn-hangzhou.aliyuncs.com/alvinos/redis@sha256:7ef832c720188ac7898dbd8d1e237b0738e94f94fc7e981cb7b8efe84555e892
deleted: sha256:621ceef7494adfcbe0e523593639f6625795cc0dc91a750629367a8c7b3ccebb
deleted: sha256:de66cfbf4712b8ba9ef292e08ef7487be26d9d21b350548e400ae351405d820e
deleted: sha256:79b2381e35429e8fc04d31b3445f069c22d288bf5c4cba7b7c10004ff78ae201
deleted: sha256:1d047d19be363b00139990d4d7f392dabdb0809dbc9d0fbe67c1f15b8caed27a
deleted: sha256:8c41f4e708c37059df28ae1cabc200a6db2fee45bd3a2cadcf70f2765bb68730
deleted: sha256:b51317bef36fe1900be48402c8a41fcd9cdb6b8950c10209f764473cb8323371
Total reclaimed space: 35.04MB
[root@Centos7 ~]#

查看镜像历史(镜像的构建历史)

# 格式
	docker history [镜像ID或镜像名称]
# 实例
[root@Centos7 ~]# docker history alpine
IMAGE          CREATED        CREATED BY                                      SIZE      COMMENT
7731472c3f2a   2 months ago   /bin/sh -c #(nop)  CMD ["/bin/sh"]              0B
<missing>      2 months ago   /bin/sh -c #(nop) ADD file:edbe213ae0c825a5b…   5.61MB

保存镜像(commit)

# 保存正在运行的容器直接为镜像
# 格式:
	docker commit [容器ID|容器名称]

# 实例
[root@Centos7 ~]# docker commit -a "Alvin" -m "这是一个docker镜像" -p be3b92e2886b  test:v1
sha256:4a06cd2af42877b5e2908073061f7ae1bf9e308a470bdfc0c6f906ef368aaed8
[root@Centos7 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
test         v1        4a06cd2af428   5 seconds ago   104MB

保存镜像(import/export)

# 保存正在运行的容器为镜像压缩包
## 保存容器为镜像
	docker export [容器的ID] > [包名称]
	# 实例
		[root@Centos7 ~]# docker export be3b92e2886b > redis.tar
        [root@Centos7 ~]# ll | grep redis
        -rw-r--r--. 1 root root 104178688 Mar 18 17:30 redis.tar

## docker import [包名称] [自定义镜像名称]
	# 实例
	[root@Centos7 ~]# docker import redis.tar test:v3
    sha256:7776db3402fb8d59f6121a3b1977b5e7016f4064cf59218fd1b06637cb0fca87
    [root@Centos7 ~]# docker images
    REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
    test         v3        7776db3402fb   6 seconds ago   101MB

保存镜像(save/load)

# 保存镜像为压缩包
# 保存镜像的格式:
	docker save [镜像名称|镜像ID] > [包名称]
    [root@Centos7 ~]# docker save 7731472c3f2a > apline.tar
    [root@Centos7 ~]# ll
    -rw-r--r--. 1 root root   5888000 Mar 18 17:36 apline.tar
    [root@Centos7 ~]# docker save -o apline-two.tar 7731472c3f2a
    [root@Centos7 ~]# ll
    total 148692
    -rw-r--r--. 1 root root   5888000 Mar 18 17:36 apline.tar
    -rw-------. 1 root root   5888000 Mar 18 17:37 apline-two.tar
# 导入镜像的格式:
	docker load < [包名称]
	[root@Centos7 ~]# docker load < apline.tar
    c04d1437198b: Loading layer [========================================>]   5.88MB/5.88MB
    Loaded image ID: sha256:7731472c3f2a25edbb9c085c78f42ec71259f2b83485aa60648276d408865839
    [root@Centos7 ~]# docker images
    REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
    <none>       <none>    7731472c3f2a   2 months ago     5.61MB
# 注:save/load保存镜像无法自定义镜像名称,save保存镜像时如果使用ID保存则load导入镜像无名称,使用名称导入时才有名称。
[root@Centos7 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
busybox      latest    b97242f89c8a   2 months ago     1.23MB
[root@Centos7 ~]# docker save busybox:latest > busybox.tar
[root@Centos7 ~]# ll
total 150120
-rw-r--r--. 1 root root   1459200 Mar 18 17:43 busybox.tar
[root@Centos7 ~]# docker rmi b97242f89c8a
Untagged: busybox:latest
Untagged: busybox@sha256:c5439d7db88ab5423999530349d327b04279ad3161d7596d2126dfb5b02bfd1f
Deleted: sha256:b97242f89c8a29d13aea12843a08441a4bbfc33528f55b60366c1d8f6923d0d4
Deleted: sha256:0064d0478d0060343cb2888ff3e91e718f0bffe9994162e8a4b310adb2a5ff74
[root@Centos7 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
[root@Centos7 ~]# docker load < busybox.tar
0064d0478d00: Loading layer [==================================================>]   1.45MB/1.45MB
Loaded image: busybox:latest
[root@Centos7 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
busybox      latest    b97242f89c8a   2 months ago     1.23MB

保存镜像三种方式的区别

1、export保存的镜像体积要小于save(save保存更完全,export保存会丢掉一些不必要的数据)

2、export可以重命名镜像名称而save则不行

3、save可以同时保存多个镜像而export则不行

以上就是docker镜像的拉取登陆上传及保存等相关使用命令的详细内容,更多关于docker镜像拉取登陆上传保存等使用命令的资料请关注我们其它相关文章!

(0)

相关推荐

  • docker常用命令总结之安装、镜像、容器基本操作

    以下均在centos 7进行的操作 docker安装 yum install -y docker -y:表示在安装过程中按照默认配置进行安装,不需要进行逐步确认 查看已经安装的docker yum list installed | grep docker 删除已经安装的docker yum remove -y docker.x86_64 yum remove -y docker-client.x86_64 yum remove -y docker-common.x86_64 docker服务启动

  • Docker run流程及镜像的基本命令详解

    目录 1.run 的工作流程 2.镜像的基本命令 1.run 的工作流程 当我们在安装完Docker引擎的时候,都会通过运行hello-world 镜像验证 Docker Engine 是否已正确安装: 下面我们来分析 run 命令的执行流程:run的执行流程图如下 当我们尝试运行一个在本机和DockerHub都找不到的镜像时: 首先启动Docker 引擎: systemctl start docker 然后进行测试: docker run wanliguyicheng123456789 Doc

  • 详解Docker学习之用commit命令创建镜像

    构建镜像的两种方法: 使用docker commit 命令 使用docker build命令和Dockerfile文件 Dockerfile更抢到.灵活,推荐使用. 一般来说不是真的"创建"新镜像,而是基于一个已有的基础镜像,比如Ubuntu.Fedora等,构建新的镜像而已. 用commit创建镜像 创建Docker账号 共享和发布镜像时构建镜像中重要的环节,可以将镜像推送到Docker Hub或资金的私有Registry中.首先到https://hub.docker.com/acc

  • Docker中镜像构建文件Dockerfile与相关命令的详细介绍

    前言 使用docker build命令或使用Docker Hub的自动构建功能构建Docker镜像时,都需要一个Dockerfile文件.Dockerfile文件是一个由一系列构建指令组成的文本文件,docker build命令会根据这些构建指令完成Docker镜像的构建.本文将会介绍Dockerfile文件,及其中使用的构建指令. 1. Dockerfile文件使用 docker build命令会根据Dockerfile文件及上下文构建新Docker镜像.构建上下文是指Dockerfile所在

  • Docker常用的清除容器镜像命令小结

    前言 Docker 是一个非常有趣的项目.它自己宣称可以减轻部署服务器的难度,当然我相信里面有炒作的成分.但是实际使用后,我觉得 Docker 的表现还是可圈可点的.这篇文章主要总结了Docker清除容器镜像常用的命令,下面来一起看看吧. 杀死所有running状态的容器 docker kill $(docker ps -q) 删除所有已经停止的容器 docker rm $(docker ps -a -q) 删除所有\'untagged/dangling\' ()状态的镜像 docker rmi

  • 详解Docker镜像提交命令commit的工作原理和使用方法

    在本地创建一个容器后,可以依据这个容器创建本地镜像,并可把这个镜像推送到Docker hub中,以便在网络上下载使用. 下面我们来动手实践. docker pull nginx:1.15.3 用命令行启动一个容器: docker run -d -p 1080:80 --name jerry-nginx nginx:1.15.3 localhost:1080 进入容器的shell: docker exec -it jerry-nginx /bin/bash 查看这个nginx镜像默认的首页: 我想

  • docker镜像的拉取登陆上传及保存等相关使用命令

    目录 docker 中的三大基本概念 镜像 容器 仓库 docker 镜像相关命令 常用镜像仓库 搜索镜像 拉取镜像 查看当前系统上的有哪些镜像 获取镜像的详细信息 登录镜像仓库 为镜像标签 镜像上传 镜像的删除 清空镜像 查看镜像历史(镜像的构建历史) 保存镜像(commit) 保存镜像(import/export) 保存镜像(save/load) 保存镜像三种方式的区别 docker 中的三大基本概念 镜像 镜像就是启动一个容器的模板. 容器 容器就是对外提供服务的进程.或者容器就是镜像启动

  • laravel excel 上传文件保存到本地服务器功能

    首先需要下载安装好.环境可以使用 本地上传 $file = $request->file('file', 0);//文件名称 /** 判断文件格式以及各种错误 **/ //获取文件的扩展名 $ext = $file->getClientOriginalExtension(); //获取文件的绝对路径 $path = $file->getRealPath(); $file_name = date("YmdHis") . '.' .$ext; //存储文件.disk里面的

  • ASP.NET Core单文件和多文件上传并保存到服务端的方法

    前言: 在我们日常开发中,关于图片,视频,音频,文档等相关文件上传并保存到服务端中是非常常见的一个功能,今天主要是把自己在开发中常用的两种方式记录下来方便一下直接使用,并且希望能够帮助到有需要的同学! 一.配置ASP.NET Core中的静态文件: 简单概述: 在ASP.NET Core应用中静态资源文件需要进行相应的配置才能够提供给客户端直接使用. 详情描述请参考官方文档: https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/st

  • oracle通过存储过程上传list保存功能

    一.创建oracle 需要保存的数据类型type和存储过程produce create TYPE "AL01TYPE" as object ( -- 描述 : 档案批量转出 -- 作者 : dt -- 时间 : 2021-05-10 -- 版本 :dev-1.0.1 aac003 NVARCHAR2(100), aac002 NVARCHAR2(50), aat001 NVARCHAR2(50), aat002 NVARCHAR2(50), aat013 NVARCHAR2(20),

  • Docker创建镜像、怎么修改、上传镜像等详细介绍

    Docker 创建镜像.修改.上传镜像 –创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 一.创建镜像 创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 二.修改已有镜像 1.先使用下载的镜像启动容器. $ docker run -t -i training/sinatra /bin/bash root@0b2616b0e5a8:/# 注意:记住容器的 ID,稍后还会用到. 2.

  • Docker容器如何更新打包并上传到阿里云

    这次来尝试如何将已经运行的容器打包,封装成镜像,并且上传到阿里云上,为了别的地方下载和使用更加的方便. 毕竟有Docker安装不难,问题是一些特殊的配置麻烦,所以直接制作好,下次直接拉取了运行就会简单的多了 首先,进入镜像,如果不清楚地,可以看下上一章. [root@VM_0_4_centos bin]# docker exec -it 8bf811453641 /bin/bash 然后更新镜像: root@8bf811453641:/# apt-get update 这里更新后需要退出: ex

  • PHP+FLASH实现上传文件进度条相关文件 下载

    PHP之所以很难实现上传进度条是因为在我们上传文件到服务器的时候,要等到文件全部送到服务器之后,才执行相应的php文件.在这之前,文件数据保存在一个临时文件里面,而php无法获得这个文件的路径及大小.      从Actionscript 2.0开始,Flash支持文件上传及下载了.虽然不能在服务端获得文件上传进度,但我们可以在服务端获得文件的发送进度.根据这个原理,用Flash就能做出上传进度条效果.      我在网上看到过一些资料,但是感觉有缺陷.于是自己研究了一下,在前人的基础上加强了程

  • ASP.NET webUploader上传大视频文件相关web.config配置

    在webuploader上传大文件时必须配置一下,不然请求后台处理程序时,会请求超时.出现404! <system.web> <httpRuntime maxRequestLength="2040000" useFullyQualifiedRedirectUrl="true" executionTimeout="6000" minFreeThreads="8" minLocalRequestFreeThrea

  • python使用paramiko模块实现ssh远程登陆上传文件并执行

    程序执行时需要读取两个文件command.txt和ipandpass.txt.格式如下: 复制代码 代码如下: command.txt:ThreadNum:1port:22local_dir:hello_mkdirremote_dir:hello_mkdiralter_auth:chmod 755 hello_mkdirexec_program:./hello_mkdir ipandpass.txt:ip username password 程序中的队列操作是修改的别的程序,写的确实不错.该程序

  • Spring Boot 打包上传Docker 仓库的详细步骤

    重要提示:学习本文之前需要提前了解docker容器相关的知识,了解和熟练运用常用的docker操作命令,如果已经了解了docker容器相关的知识那我们就开搞吧! 以下是完成标题所述功能的大致步骤: 搭建docker镜像仓库 修改Spring Boot 配置文件添加docker仓库配置,打包,上传至docker 镜像仓库 从自己搭的docker镜像仓库拉取上传的镜像文件并运行 Step1 搭建docker镜像私有仓库 搭建docker镜像仓库我们需要依赖docker-registry工具 ,doc

随机推荐