docker基本概念和安装

docker基本概念和安装

学习书籍:Docker技术入门与实践
环境: ubuntu14及以上版本)

第一章 初始docker

  • docker是一种为应用的开发和部署提供一站式解决方案的linux容器技术
  • docker容器很快,启动和停止妙级实现
  • docker容器对系统资源需求很少,一台主机可同时运行数千个docker容器
  • docker可通过类似git的财政方便用户获取、分发、更新应用镜像
  • docker通过dockerfile配置文件来支持灵活的自动化创建和部署机制

第二章 docker三大核心概念介绍及安装

docker镜像

dockder镜像(image)类似于虚拟机镜像,可以理解成一个面向docker引擎的只读模板,可能只是文件系统,也可能是文件系统和应用程序的集合,镜像是创建docker容器的基础(默认使用Docker Hub公共注册服务器中的仓库,也可以配置自定义镜像仓库)

容器

docker容器(Container)类似于一个轻量级的沙箱,docker利用容器来运行和隔离应用,容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的
镜像自身只是只读的,容器从镜像启动的时候,docker会在镜像的最上层创建一个可写层,镜像本身保持不变

仓库

docker仓库(repository)类似于代码仓库,是docker集中存放镜像文件的场所(自我理解类似于git仓库)

docker安装

本文以ubuntu14及以上版本的安装为例(其他环境安装有区别,需要另外查资料)

ubuntu14自带安装方式

通过该方式安装docker,安装的版本相对较旧

  • apt-get update
  • apt-get install -y docker.io
  • ln -sf /usr/bin/docker.io /usr/local/bin/docker
  • sed -i ‘$acomplete -F _docker docker’ /etc/bash_completion.d/docker

这里写图片描述

官方源安装最新版本
  • apt-get install apt-transport-https
  • apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
  • sudo bash -c “echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list”
  • sudo apt-get update
  • apt-get install lxc-docker
  • ln -sf /usr/bin/docker /usr/local/bin/docker
    这里写图片描述

镜像

演示从Docker Hub的ubuntu仓库下载一个最新的ubuntu操作系统镜像

获取镜像

  • 获取最新镜像: docker pull ubuntu (下载的是ubuntu:latest镜像, 完整指令: docker pull registry.hub.docker.com/ubuntu:latest,即默认从注册服务器registry.hub.docker.com中的ubuntu仓库下载标记为latest的镜像),文件系统由若干层组成,每一层有ID与之对应,是实现增量保存与更新的基础
  • 获取指定版本镜像: docker pull ubuntu: 14.04
  • 从其它注册服务器仓库下载,如dl.dockerpool.com: docker pull dockerpool.com:5000/ubuntu
  • 下载镜像到本地后,开始使用: docker run -t -i ubuntu /bin/bash

查看镜像

  • 查看镜像信息: docker images 可以列出本地主机上已有镜像(列出信息中tag字段用于区分同一仓库不同镜像)
  • docker tag命令为本地镜像添加新标签(起到引用或别名作用,其实id都指向一个镜像)。如添加ubuntu:latest镜像标签: docker tag dl.dockerpool.com:5000/ubuntu:latest ubuntu:latest
  • 查看docker详细信息: docker inspect dicker_id , 返回json格式消息
  • 若只要其中一项内容时,可使用-f指定,如获取镜像的Architecture信息: docker inspect -f {{“.Architecture”}} 550

搜寻镜像

  • docker search 搜索远端仓库中的共享镜像,默认搜索Docker Hub官方仓库镜像,用法为docker search TERM,参数为:
    1. –automated=false 仅显示自动创建的镜像
    2. –no-trunc=false输出信息不截断显示
    3. -s, --stars=0 指定仅显示评价为指定星级以上的镜像,例如搜索带mysql关键字的镜像, sudo docker search mysql, 默认按星级评价排序

删除镜像

  • docker rmi IMAGE, IMAGE可以是tag或ID, docker rmi tag 只是删除该标签指定的镜像,若有多个标签指向一个id,则其他标签镜像不会受影响,若是id,则会删除所有指向该镜像的tag,然后删除镜像本身,但是当有该镜像创建的容器存在时,镜像文件默认是无法被删除的
  • docker rmi -f ubuntu, -f参数强制删除,不推荐,往往造成一些遗留问题(被强制删除的镜像,会生成标签为的临时镜像,并换了新ID,继续存系统);
  • 删除已有容器的镜像的正确做法是先删除镜像依赖的所有容器,在删除镜像,如:
1、docker ps -a , 查看本机存在的容器
2、docker rm 容器id ,删除容器id,
3、dicker rmi -f  image_id
4、docker images 查看是否已被删除
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值