首页 > 系统相关 >docker从入门到实践学习笔记【环境ubuntu16.04】【二】

docker从入门到实践学习笔记【环境ubuntu16.04】【二】

时间:2023-05-19 16:32:42浏览次数:34  
标签:ubuntu16.04 入门 16.04 image ubuntu 镜像 docker Docker


 

目录

获取镜像

 

运行容器

列出镜像

虚悬镜像

中间层镜像

 

删除本地镜像

批量删除镜像


 

 

镜像是docker的三大组件之一。

Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库 下载该镜像。

 

获取镜像

 

从 Docker 镜像仓库获取镜像的命令是 docker pull 。其命令格式为:
 

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

具体的选项可以通过 docker pull --help 命令看到,这里我们说一下镜像名称的格式。

Docker 镜像仓库地址:地址的格式一般是 <域名/IP>[:端口号] 。默认地址是 Docker Hub。

仓库名:如之前所说,这里的仓库名是两段式名称,即 <用户名>/<软件名> 。对于 Docker Hub,如果不给出用户名,则默认为 library ,也就是官方镜像。
 

例如:

$ docker pull ubuntu:16.04
16.04: Pulling from library/ubuntu
bf5d46315322: Pull complete
9f13e0ac480c: Pull complete
e8988b5b3097: Pull complete
40af181810e7: Pull complete
e6f7c7e5c03e: Pull complete
Digest: sha256:147913621d9cdea08853f6ba9116c2e27a3ceffecf3b492983ae97c3d643fbbe
Status: Downloaded newer image for ubuntu:16.04

上面没有给出仓库地址默认使用 Docker Hub获取镜像,镜像名称则是ubuntu【仓库名】:16.04【标签】

因此将会获取官方镜像 library/ubuntu 仓库中标签为 16.04 的镜像。

 

镜像是由多层存储所构成。下载也 是一层层的去下载,并非单一文件。下载过程中给出了每一层的 ID 的前 12 位。并且下载结 束后,给出该镜像完整的 sha256 的摘要,以确保下载一致性。 在使用上面命令的时候,你可能会发现,你所看到的层 ID 以及 sha256 的摘要和这里的不一 样。这是因为官方镜像是一直在维护的,有任何新的 bug,或者版本更新,都会进行修复再 以原来的标签发布,这样可以确保任何使用这个标签的用户可以获得更安全、更稳定的镜 像

运行容器

 

以 ubuntu:16.04 为 例,如果我们打算启动里面的 bash 并且进行交互式操作的话,可以执行下面的命令。

 

$ docker run -it --rm \
ubuntu:16.04 \
bash

效果如图:

docker从入门到实践学习笔记【环境ubuntu16.04】【二】_Docker

docker run :是运行容器的命令 

--it :这是两个参数,一个是 -i :交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端

--rm : 这个参数是说容器退出后随之将其删除。默认情况下,为了保障需求,退出的容 器并不会立即删除,除非手动 docker rm 。我们这里只是随便执行个命令,看看结果, 不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。

ubuntu:16.04 :这是指用 ubuntu:16.04 镜像为基础来启动容器。
bash :放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash
 

输入 exit 则可以退出容器

 

列出镜像

docker image ls

docker从入门到实践学习笔记【环境ubuntu16.04】【二】_ubuntu_02

列表包含了 仓库名 、 标签 、 镜像 ID 、 创建时间 以及 所占用的空间 。

 

 

虚悬镜像  

镜像列表中,出现镜像既没有仓库名,也没有标签,均为 <none>,可以进行删除,一般来说虚悬镜像已经失去存在的价值。

 

可以用这这个命令进行查找虚悬镜像

docker image ls -f dangling=true

用下面命令进行删除

docker image prune

中间层镜像

默认的 docker image ls 列表中只会显示顶层镜像,如果希望显示包括中间层镜像在内的所有镜像的话,需要加 -a 参数。

$ docker image ls -a

这样会看到很多无标签的镜像,与之前的虚悬镜像不同,这些无标签的镜像很多都是中间层镜像,是其它镜像所依赖的镜像。这些无标签镜像不应该删除,否则会导致上层镜像因为依赖丢失而出错。
 

 

删除本地镜像  

$ docker image rm [选项] <镜像1> [<镜像2> ...]

其中, <镜像> 可以是 镜像短 ID 、 镜像长 ID 、 镜像名 或者 镜像摘要 。
 

批量删除镜像

 

比如,我们需要删除所有仓库名为 redis 的镜像:
 

$ docker image rm $(docker image ls -q redis)

或者删除所有在 mongo:3.2 之前的镜像:
 

$ docker image rm $(docker image ls -q -f before=mongo:3.2)

 

标签:ubuntu16.04,入门,16.04,image,ubuntu,镜像,docker,Docker
From: https://blog.51cto.com/u_14008060/6313732

相关文章

  • docker从入门到实践学习笔记【环境ubuntu16.04】【三】
    目录 新建容器并启动启动已经终止的容器后台运行终止容器进入容器导入和导出容器导出容器导入容器删除容器清理所有终止状态的容器新建容器并启动 dockerrun 例如,下面的命令输出一个“HelloWorld”,之后终止容器 $dockerrunubuntu:14.04/bin/echo'Helloworld'Hellow......
  • docker从入门到实践学习笔记【环境ubuntu16.04】【四】
    目录数据卷创建一个数据卷查看所有数据卷查看指定数据卷的详细信息启动容器的同时挂在数据卷查看容器的信息删除数据卷在容器销毁时自动删除数据卷挂载主机目录作为数据卷挂载一个本地主机文件作为数据卷  数据卷数据卷特性:1.可以在容器之间共享和重用2.对数据卷的修改立马生效3.......
  • 【由浅入深学MySQL】之MySQL索引基础入门
    本系列为:MySQL数据库详解,为千锋教育资深教学老师独家创作致力于为大家讲解清晰MySQL数据库相关知识点,含有丰富的代码案例及讲解。如果感觉对大家有帮助的话,可以【关注】持续追更~文末有本文重点总结,技术类问题,也欢迎大家和我们沟通交流!前言从今天开始本系列内容就带各位小伙......
  • oracle 中的用户、表空间、数据模式光速入门
    oracle中没有limitROWNUM来处理的只能通过嵌套来处理SELECT*FROM(SELECTCOMP_LN.GIM_RENKOU.LASTUPTIMEFROMCOMP_LN.GIM_RENKOUORDERBYCOMP_LN.GIM_RENKOU.LASTUPTIMEDESC)WHEREROWNUM=1oracle首先连接的时候分为servicename和SID(SystemIdentifi......
  • Zabbix搭建与主机监控(docker-compose方式安装)
    Zabbix搭建与主机监控Cloud研习社 Cloud研习社 2023-05-1907:31 发表于山东收录于合集#计算机211个#linux238个#云计算226个Cloud研习社为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以......
  • docker exec unknown shorthand flag: 'i' in -it
    当你使用的是以下图中的命令时:出现以上的报错,那就是因为tomcat这个容器中没有ping命令,需要单独下载。先进入容器:dockerexec-it容器名或容器id/bin/bash进入容器执行,apt-getinstallnet-tools命令再执行,apt-getinstalliputils-ping命令容器不停止退出:Ctrl+P+Q然后再次......
  • 老杜MyBatis框架从入门到精通(三)使用MyBatis完成CRUD
    mybatis做为目前国内最为流行的开源orm框架,我们平时在使用时会感受到其带来的诸多便利,但是很少去深入分析,mybatis源码代码量不多,功能丰富,是一个很好的学习样例,本系列文章就和大家一起来学习mybatis框架本系列笔记根据动力节点B站上老杜讲的mybatis教程整理~学习地址:https://www......
  • .NET入门相关学习
    今日任务:制作一个可以对数据库增删改的简单信息系统。 利用官方教程做一个简单的学习。制作步骤整理:一、创建ASP.NETCoreWeb应用项目。二、更改Pages/Shared/_Layout.cshtml设置网站页眉、页脚和菜单,用于之后新建功能页面的跳转。1<ulclass="navbar-navflex-grow-......
  • “Linux 基础入门(新版)”实验报告 Linux 目录结构及文件基本操作
    Linux目录结构及文件基本操作来Linux目录结构UNIX是以目录为主的,Linux也继承了这一优良特性。Linux是以树形目录结构的形式来构建整个系统的,可以理解为树形目录是一个用户可操作系统的骨架。虽然本质上无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说Linux......
  • Linux 基础入门(新版)”实验报告 基本概念及操作
    实验2基本概念及操作1.Linux桌面环境介绍UNIX/Linux本身是没有图形界面的,UNIX/Linux发行版上看到的图形界面实际都只是运行在Linux系统之上的一套软件。现在这套软件为xorg(X.Org),而这套软件又是通过X窗口系统(XWindowSystem,也常被称为X11或X)实现的,X本身只是工具包及......