【docker一】docker是什么、为什么使用Docker、docker镜像搜索、获取、删除、查看、导出导入、查看历史详细信息

Docker基础

1、 docker是什么

docker的中文解释是码头工人。

官方解释:

Docker是一个开源的容器引擎,它基于LCX容器技术,使用Go语言开发。

源代码托管在Github上,并遵从Apache2.0协议。
Docker采用C/S架构,其可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。
Docker就是一种快速解决生产问题的一种技术手段,开发,运行和部署应用程序的开放管理平台。
开发人员能利用docker 开发和运行应用程序
运维人员能利用docker 部署和管理应用程序

2、Docker的生活场景对比:

【docker一】docker是什么、为什么使用Docker、docker镜像搜索、获取、删除、查看、导出导入、查看历史详细信息_第1张图片

自2013年出现以来,发展势头很猛,现在可说是风靡全球。 docker的第一版为0.1.0 发布于2013年03月23日
Docker2017年改版前的版本号是1.13.1发布于2017年02月08日
Docker从1.13.x版本开始,版本分为企业版EE和社区版CE,版本号也改为按照时间线来发布,比如17.03就是2017
年3月,有点类似于ubuntu的版本发布方式。 企业版自然会提供一些额外的服务,当然肯定也是收费的。 企业版
说明https://blog.docker.com/2017/03/docker-enterprise-edition/
社区版分为stable和edge两种发布方式。 stable版本是季度发布方式,比如17.03, 17.06, 17.09
edge版本是月份发布方式, 比如17.03, 17.04…

Docker客户端(Docker Client)
Docker客户端(Docker Client)是用户与Docker进行交互的最主要方式。当在终端输入docker命令时,对应的就会
在服务端产生对应的作用,并把结果返回给客户端。Docker Client除了连接本地服务端,通过更改或指定
DOCKER_HOST连接远程服务端。
Docker服务端(Docker Server)
Docker Daemon其实就是Docker 的服务端。它负责监听Docker API请求(如Docker Client)并管理Docker对象
(Docker Objects),如镜像、容器、网络、数据卷等
Docker Registries
俗称Docker仓库,专门用于存储镜像的云服务环境.
Docker Hub就是一个公有的存放镜像的地方,类似Github存储代码文件。同样的也可以类似Github那样搭建私有
的仓库。
Docker 对象(Docker Objects)
镜像:一个Docker的可执行文件,其中包括运行应用程序所需的所有代码内容、依赖库、环境变量和配置文件
等。
容器:镜像被运行起来后的实例。
网络:外部或者容器间如何互相访问的网络方式,如host模式、bridge模式。
数据卷:容器与宿主机之间、容器与容器之间共享存储方式,类似虚拟机与主机之间的共享文件目录。

3、为什么使用Docker

Docker使您能够将应用程序与基础架构分开,以便您可以快速交付软件。

借助Docker,您可以像管理应用程序一样管理基础架构。

通过利用Docker的方法快速进行运输,测试和部署代码,您可以显着缩短编写代码和在生产环境中运行代码之间的延迟。

Docker主要解决的问题:

保证程序运行环境的一致性;

降低配置开发环境、生产环境的复杂度和成本;

实现程序的快速部署和分发。

4、docker的基本命令格式:

#基本格式 
	systemctl [参数] docker 
#参数详解: 
    start 		开启服务 
    stop 		关闭 
    restart 	重启 
    status 		状态

删除docker命令:

sudo apt-get purge docker-ce -y
sudo rm -rf /etc/docker
sudo rm -rf /var/lib/docker/

docker基本目录简介:

/etc/docker/ 		#docker的认证目录
/var/lib/docker/ 	#docker的应用目录

5、docker镜像管理

Docker镜像是什么? 镜像是一个Docker的可执行文件,其中包括运行应用程序所需的所有代码内容、依赖库、环境变量和配置文件等。 通过镜像可以创建一个或多个容器。

搜索镜像

#作用
搜索Docker Hub(镜像仓库)上的镜像
#命令格式:
docker search [镜像名称]
#命令演示:
$ docker search ubuntu
#NAME:名称
#DESCRIPTION:基本功能描述
#STARS:下载次数
#OFFICIAL:官方
#AUTOMATED:自动的运行

获取镜像

#作用:
下载远程仓库(如Docker Hub)中的镜像
#命令格式:
docker pull [镜像名称]
#命令演示:
$ docker pull ubuntu
$ docker pull nginx
#注释:
#获取的镜像在哪里?
#/var/lib/docker/image 目录下

vim /var/lib/docker/image/overlay2/repositories.json

查看镜像

#作用:
列出本地镜像
#命令格式:
docker images [镜像名称]

镜像重命名

#作用:
对本地镜像的NAME、TAG进行重命名,并新产生一个命名后镜像
#命令格式:
docker tag [老镜像名称]:[老镜像版本][新镜像名称]:[新镜像版本]

删除镜像

#作用:
将本地的一个或多个镜像删除
#命令格式:
docker rmi [命令参数][镜像ID]
docker rmi [命令参数][镜像名称]:[镜像版本]
docker image rm [命令参数][镜像]

导出镜像

将已经下载好的镜像,导出到本地,以备后用。

#作用:
将本地的一个或多个镜像打包保存成本地tar文件
#命令格式:
docker save [命令参数][导出镜像名称][本地镜像镜像]
#命令参数(OPTIONS):
-o, --output string 指定写入的文件名和路径
#导出镜像
:~$ docker save -o nginx.tar nginx

导入镜像

#作用:
将save命令打包的镜像导入本地镜像库中
#导入镜像命令格式:
$ docker load [命令参数][被导入镜像压缩文件的名称]
$ docker load < [被导入镜像压缩文件的名称]
$ docker load --input [被导入镜像压缩文件的名称]

历史、创建

#作用:
查看本地一个镜像的历史(历史分层)信息
#查看镜像命令格式:
docker history [镜像名称]:[镜像版本]
docker history [镜像ID]

镜像详细信息

#作用:
查看本地一个或多个镜像的详细信息
#命令格式:
$ docker image inspect [命令参数] [镜像名称]:[镜像版本]
$ docker inspect [命令参数] [镜像ID]
#查看镜像详细信息:
$ docker inspect nginx

根据模板创建镜像

#登录系统模板镜像网站:
#https://download.openvz.org/template/precreated/
#找到一个镜像模板进行下载,比如说ubuntu-16.04-x86_64.tar.gz,地址为:
#https://download.openvz.org/template/precreated/ubuntu-16.04-x86_64.tar.gz
#命令格式:
cat 模板文件名.tar | docker import - [自定义镜像名]
#演示效果:
$ cat ubuntu-16.04-x86_64.tar.gz | docker import - ubuntu-mini

你可能感兴趣的:(技术分享,docker,容器,运维)