您的位置:首页 > 运维架构 > Docker

docker基本概念和安装

2017-09-18 00:18 435 查看

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,参数为:

–automated=false 仅显示自动创建的镜像

–no-trunc=false输出信息不截断显示

-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 查看是否已被删除
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker