docker入门学习-了解docker的基本概念

docker由三部份组成,镜像(image),容器(container)还有仓库(Registry),我们最先学习的是镜像,镜像就好比是docker的地基,容器就好比是房子,而仓库就好比是混凝土之类的因为所有的镜像都是从仓库中获取的,所以我把仓库比喻成建造地基的材料,当然这也是我个人的看法,

镜像:

这里的镜像存在于虚拟机上,但是不同的镜像互相之间相互独立,可以说每个docker镜像都会有自己的文件系统,镜像的构建是以上一层镜像最为基础,分层存储使得镜像的复用和定制十分方便,不过镜像一旦创建就不会改变,不论前一层或者后一层镜像中的文件发生改变,或者说删除,再容器运行中还是会跟随容器,因为镜像只是将文件标识为逻辑删除。

容器:容器是以镜像为基础,实际上容器是一个独立的进程,它拥有独立的命名空间,因此它拥有自己的root文件系统,网络配置,自己的进程空间,自己的用户id,而且容器之间也可以说进程之间相互独立,不会互相干扰,容器的运行会以当前镜像为基础,再创建一个数据的存储层,容器消失,存储层也就消失了,所以数据不要存储再这个存储层中,以避免这个问题,尽量存储再数据卷或者绑定宿主目录,数据卷的生命周期,独立于容器,docker容器消失,数据卷不会消失。

仓库:

当我们镜像构建完成之后,如果想要其他的机器使用这个容器,我们可以将这个镜像放到仓库之中,进行存储和管理,仓库中可以有多个仓库,每个仓库都有自己的标签,也可以包含多个,每个标签对应相应的镜像,通常来讲每个标签都会对应不同的版本号,以 Ubuntu 镜像 为例, ubuntu 是仓库的名字,其内包含有不同的版本标签,如, 14.04 , 16.04 。我们可以通过 ubuntu:14.04 ,或者 ubuntu:16.04 来具体指定所需哪个版本的镜 像。如果忽略了标签,比如 ubuntu ,那将视为 ubuntu:latest

Docker Registry 公开服务

获取镜像

获取镜像和git命令有点像,docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

docker pull ubuntu:16.04

具体的选项可以通过 docker pull --help 命令看到

这里docker pull 没有指定镜像地址,则我们回去docker官方仓库中去下载镜像,ubuntu:16.04,ubuntu是镜像名,16.04是标签名,我们这里没有给出仓库名和docker仓库地址,

Docker 镜像仓库地址:地址的格式一般是 [:端口号] 。默认地址是 Docker Hub。 仓库名:如之前所说,这里的仓库名是两段式名称,即 / 。对于 Docker Hub,如果不给出用户名,则默认为 library ,也就是官方镜像

 

从以下的截图中可以看出分层存储的概念,

运行容器

有了镜像之后,就可以运行它了,$ docker run -it --rm \ ubuntu:16.04 \ bash

然后就可以使用shell了

docker run 是docker运行容器的命令, -it 中 i是交互的意思,-t则是终端的意思,--rm表示容器推出后将其删除,但是一般为了排除故障,不会立刻删除,ubuntu:16.04表示以这个镜像为基础启动的容器,base表示使用shell交互,这里,我们执行了 cat /etc/os-release ,最后使用exit退出shell

使用docker image ls 命令列出docker镜像

docker system df 命令来便捷的查看镜像、容器、数据卷所占用的空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值