简介

今天小区的超市买零食老板给我说再过几天可能就卖完了我有点诧异,老板又说厂家不生产了emmm

今天总算开始docker了!

1.Docker?

1.什么是Docker

  Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

1.1docker基本组成

  Docker Client 客户端
  Docker Daemon守护进程
  Docker Images 镜像
  Docker Container 容器
  Doceker Registry 镜像仓库

  

2.Docker应用场景

  应用程序打包和发布
  应用程序隔离
  持续集成
  部署微服务
  快速搭建测试环境
  提供PassS产品(平台即服务)

3.Docker的优点

Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

不可变设施(Immutable Infrastructure)这一概念,指的是主机OS与服务运行环境(服务器程序、源代码、已编译的二进制文件)分离,只设置一次运行环境,之后不发生变更(Immutable)

  1.管理方便:由于服务运行环境以镜像形式存在,所以只要管理镜像本身即可。特别是可以集中管理镜像,实现系统部署管理。此外,镜像生成设置也以文件形式存在,可以灵活用于版本管理系统。

  2.扩展:可以利用一个镜像不断创建服务器。与云平台自动伸缩功能(Auto Scaling)配合使用,能够轻松实现服务扩展

  3.测试:只要在开发人员PC或者测试服务器中运行镜像,就可以搭建与实际服务运行环境一致的环境,非常容易测试

  4.轻量:分离操作系统与服务运行环境,实现轻量化,提供可以随时运行的环境

4.虚拟主机与Docker

2.Docker安装

linux自动安装脚本

sudo wget -qO- https://get.docker.com/ | sh

3.Docker镜像管理

镜像
docker镜像是一个不包含linxu内核而又精简的Linux操作系统

修改国内镜像源:

vi  /etc/docker/daemon.json
#添加后
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}

我测试的时候不行用的是阿里云的镜像加速

sudo systemctl daemon-reload

sudo systemctl restart docker

1.使用search命令搜索镜像

docker search centos

  NAME: 镜像仓库源的名称

  DESCRIPTION: 镜像的描述

  OFFICIAL: 是否 docker 官方发布

  stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

  AUTOMATED: 自动构建

2.使用pull命令下载镜像 

docker pull ubuntu:latest   //命令格式:docker pull <镜像名称>:<标签> 如果设置latest代码就是下载最新版本 也可以给标签位置指定版本号eg:ubuntu:14.04

3.使用images命令列出镜像目录

docker image
  • REPOSITORY:表示镜像的仓库源

  • TAG:镜像的标签

  • IMAGE ID:镜像ID

  • CREATED:镜像创建时间

  • SIZE:镜像大小

  

docker image --help 查看帮助
docker image ls 查看当前镜像
docker image pull 下载镜像
docker image rm 删除镜像
docker tag 打tag标记
docker image save 保存一个镜像
eg :docker image save nginx:1.11>nginx1.11.tar
docker load 导入一个镜像
eg:docker load < nginx1.11.tar

4.使用rmi命令删除镜像

docker rmi <镜像名称>:<标签>
docker rmi ubuntu:latest

推荐学习文章:10张图带你深入理解Docker容器和镜像

Docker学习第一天(Docker入门&&Docker镜像管理)的更多相关文章

  1. Docker学习(三)认识Docker和常用命令

    Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...

  2. Docker学习笔记之通过 Dockerfile 创建镜像

    0x00 概述 由于 Docker 镜像的结构优势,使它的占用空间远小于普通的虚拟机镜像,而这就大幅减少了 Docker 镜像在网络或者其他介质中转移所花费的时间,进而提高了我们进行迁移部署的效率.不 ...

  3. docker学习笔记4:利用docker hub上的mysql镜像创建mysql容器

    docker hub上有官方的mysql镜像,我们可以利用它来创建mysql容器,作为一个服务容器使用. 1.下载mysql镜像 docker pull mysql 2.创建镜像 docker run ...

  4. docker学习---第一章节

    一.docker的应用场景有哪些 Web 应用的自动化打包和发布 自动化测试和持续集成.发布 在服务型环境中部署和调整数据库或其他的后台应用 从头编译或者扩展现有的OpenShift或Cloud Fo ...

  5. docker学习篇(一) ----入门篇

    什么是docker docker自2013年诞生以来已有5年了,最初基于Google公司的go语言实现的,项目代码在GitHub上进行维护. 项目地址:https://github.com/moby/ ...

  6. Docker学习笔记之保存和共享镜像

    0x00 概述 让 Docker 引以为傲的是它能够实现相比于其他虚拟化软件更快的环境迁移和部署,在这件事情上,轻量级的容器和镜像结构的设计无疑发挥了巨大的作用.通过将容器打包成镜像,再利用体积远小于 ...

  7. Docker学习总结(4)——Docker镜像与容器命令

    Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...

  8. [置顶] Docker学习总结(1)——Docker实战之入门以及Dockerfile(一)

    一.Docker是什么? 首先Docker是软件工业上的集装箱技术 回顾,在没有集装箱出现以前,传统运输行业中,会存在这些问题: 在运输过程中,货物损坏 装卸.运输货物,效率低下 运输手续繁多及运输环 ...

  9. 【docker学习一】CentOS7.5+Docker安装及使用「安装、查看、pull、创建、进入镜像」

    记录安装配置以及使用的过程,可能会有多处摘抄,已注明照抄地址,侵删. 是什么:个人理解,是一种移植性很强的虚拟机,支持版本控制(类似于git),同一个服务器可以运行多个docker容器,每个docke ...

随机推荐

  1. 第十八章 HTTPS介绍及实战演练

    一.HTTPS介绍 1.概述 为什么需要使用HTTPS,因为HTTP不安全,当我们使用http网站时,会遭到劫持和篡改,如果采用https协议,那么数据在传输过程中是加密的,所以黑客无法窃取或者篡改数 ...

  2. Linux安装软件时90%的人会遇到这个报错,如何解决?

    提示 Could not get lock /var/lib/dpkg/lock 报错? 有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示: E: Could not ...

  3. JS实现将二维数组生成到页面上

    前言 之前没说过数组,现在来写一下数组 CSS span { border:2px solid skyblue; width:30px; height: 30px; display: inline-b ...

  4. SSM中 spring.xml 配置文件

    <!--扫描service的impl--><context:component-scan base-package="com.aaa.ssm.service.impl&qu ...

  5. error: Please reinstall the libzip distribution

    安装中遇到的问题 在运行 ./configure 时,提示: Please reinstall the libzip distribution 是因为 libzip 版本过低,编译升级 先卸载了原先的 ...

  6. 备战noip week8

    POJ1144 网络 description: 给出一张\(N\)个点的无向图,求其中割点的个数 data range: \(N\le 100\) solution: 一道模板题(但是读入实在是把我恶 ...

  7. JUC---03Lock(一)ReentrantLock

    1.什么是锁 在以前实现多线程的同步操作时,都是添加synchronized关键字或者synchronized代码块:而锁实现提供了比使用同步方法和语句可以获得的更广泛的锁操作.它们允许更灵活的结构, ...

  8. uniapp swiper高度自适应问题

    这里的话是想做一个比较常见的左右滑动更改tab的效果,引用了uview-ui中的u-tabs-swiper组件,需要结合swiper组件来使用 先来讲下主体思路:每个tab页(swiper-item) ...

  9. jvm内存查看方法----个人参考版

    查看设置JVM内存信息 1 Runtime.getRuntime().maxMemory(); //最大可用内存,对应-Xmx 2 3 Runtime.getRuntime().freeMemory( ...

  10. 假如把Redis服务器们拉到一个群,看看他们是怎么工作的?

    我是Redis,一个叫Antirez的男人把我带到了这个世界上. 那天,Redis基友群里,许久未见的大白发来了一条消息··· 于是,大白拉了一个新的群 以后的日子中,咱们哥仨相互配合,日常工作中最多 ...