Docker基础

1、 docker是什么

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

官方解释:

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

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

2、Docker的生活场景对比:

自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一】docker是什么、为什么使用Docker、docker镜像搜索、获取、删除、查看、导出导入、查看历史详细信息相关推荐

  1. Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别

    Docker 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发 ...

  2. docker安装linux桌面系统,Hostwinds云主机 – Docker安装Xfce桌面环境(轻量可视化操作系统)...

    我们购买的vps主机,如果想进入到桌面环境中还是很麻烦的.但是有了docker之后,一切貌似变得容易起来了.大鸟在github发现一个项目alpine-xfce4-novnc. 这篇文章就利用Host ...

  3. docker 镜像容器导入导出、查看日志、拷贝文件命令

    1. 本地文件拷贝到docker 容器中,参考 docker cp /root/pcl-pcl-1.8.1.tar.gz 7ff95b333e12:/docker cp /root/lib64_a 7 ...

  4. Docker学习(一)Ubuntu版本的Docker安装和使用

    2019独角兽企业重金招聘Python工程师标准>>> Docker安装: [apt-get install docker.io   如果不成功先运行 apt-get update] ...

  5. docker commit (从容器创建一个新的镜像)

    从容器创建一个新的镜像 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] -a :提交的镜像作者:-c :使用Dockerfile指令来创建镜像 ...

  6. Docker 17.03系列教程(一)Docker EE/Docker CE简介与版本规划

    为什么80%的码农都做不了架构师?>>>    近日,Docker发布了Docker 17.03.进入Docker 17时代后,Docker分成了两个版本:Docker EE和Doc ...

  7. docker image存储路径_使用fluentd作为docker日志驱动收集日志

    前言 docker默认的日志驱动是json-file,每一个容器都会在本地生成一个/var/lib/docker/containers/containerID/containerID-json.log ...

  8. Docker源码分析(一):Docker架构

    1 背景 1.1 Docker简介 Docker是Docker公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议.目前,Docker可以在容器内 ...

  9. Docker的使用初探(二):Docker与.NET Core的结合

    目录 Docker的使用初探(二):Docker与.NET Core的结合 添加Dockefile 1. 在创建项目时添加 2. 手动添加 3. 容器业务流程协调控制程序支持 Dockefile语法 ...

最新文章

  1. kali用Squid简单配置搭建http代理服务器
  2. linux 手动释放内存
  3. java entrypoint_java – 有时只调用AuthenticationEntryPoint
  4. pyspark使用anaconda后spark-submit方法(本人对其他文章进行的补充)
  5. ug计算机环境变量,ug80添加中文环境变量的具体方法
  6. Mybatis中取循环获取 Oracle自增序列 重复值问题
  7. android 显示网速,随着掌握联网状态 Android手机如何显示实时网速
  8. R语言中的apply(),lapply(),sapply(),tapply()函数以及示例
  9. 新浪微博开发者创新基金开始接受申请
  10. Extraneous non-props attributes (ref_key) were passed to component but could not be automatically
  11. mysql对结果再查询_SQL如何在查询结果里再次查询?
  12. pikachu File Inclusion 文件包含漏洞 (皮卡丘漏洞平台通关系列)
  13. JAVA中柱状图和折线图组合,分组折线图、柱状图实现(多条折线图、柱状图同时显示)实现方式...
  14. TMS570捕获多路PWM的可行性
  15. 在64位Windows的VS软件中使用C/C++调用gnuplot画图
  16. 使用docx4j生成指定页码的带水印的空白word文档
  17. 50个js小项目-DAY1-expanding cards
  18. Win11设备管理器在哪里打开?
  19. SQL 获取 weekday
  20. Matlab实现图像压缩

热门文章

  1. JavaScript高级程序设计笔记01 | 第一章到第四章 | 关键字与保留字 | 数据类型 | 操作符 | 作用域
  2. XMind, OneNote, Effie 哪款更适合记者?
  3. Hyperlynx仿真操作小点
  4. 傅一平:一文讲透ERP的下一代架构!
  5. 小米10至尊纪念版和iPhone12哪个好 小米10至尊纪念版和iPhone12参数对比
  6. java 接口定义超时时间,超时抛出异常,并且任务继续触发
  7. 变异数-共变异数法(转载)
  8. 关于解决无线路由器不稳定的方法备忘录
  9. 杰理之通话远端手机听到电流声或高频干扰声常见分析方法【篇】
  10. 那些强悍的PHP一句话后门