博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker学习回顾---初识docker
阅读量:3959 次
发布时间:2019-05-24

本文共 2572 字,大约阅读时间需要 8 分钟。

docker简介

docker的思想源于集装箱

docker的核心思想:资源隔离,通过他的隔离机制,可以将服务器利用到极致

docker学习笔记----历史

2010年 几个IT年轻成立公司:dotcloud----docker(容器化技术)

刚诞生:并没有引起行业的注意-----解决方法:开源----越来越多的人发现docker的优点,之后每个月都会更新一个版本
–2014年4月 docker1.0发布
docker 为什么这么火呢?— 轻巧

docker和虚拟机的区别:

在docker容器出现之前,是使用虚拟机技术的

虚拟机:在window里装一个VMware ,通过这个软件可以模拟一台或多台电脑,但这样显得十分的笨重,它一个基础镜像就占用很大的内存空间,至少需要几个G,启动可能需要几分钟
虚拟机是属于虚拟化技术,它的隔离是需要你开启多个虚拟机,各个虚拟机之间是相互隔离的,显得十分笨重
而docker容器技术,也是一种虚拟化技术,它的隔离是通过镜像机制(最核心的环境)十分小巧,运行镜像即可,只占用几M或几KB的内存就足够了,并且他是秒级启动

docker基础知识:

docker是基于go语言开发的

docker能干什么?

虚拟机技术:一台电脑,底层:kernel -->libs—>很多app
弊端:
资源占用多:一个电脑一个电脑的虚拟
冗余步骤多:比如开机
启动很慢:可能要几分钟

容器化技术:并不是模拟一个完整的操作系统,比如说我要安装一个centos,我只需要它的核心就够了

底层:kernal—>很多容器(lib(运行环境)+ 应用)

总结:docker和虚拟机的不同

传统的虚拟机:虚拟出一套硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
容器:容器内的应用是直接运行在宿主机的内核,容器是没自己的内核的,也没有虚拟硬件,所以就十分轻便,简单的说就是在虚拟机的基础上,进行了一系列的简化
每个容器间是互相隔离的,每个容器内都有一个属于自己的文件系统,互不影响。

原来:在自己的电脑上装3,4 台虚拟机来跑应用可能就卡死了,而用了docker我装30个都没问题,可以极大的利用内存资源

DevOps 开发,运维

1,把应用更快速的交付,部署
传统:有一堆的帮助文档,安装程序
docker:打包镜像,发布测试,一键运行

更便捷的扩容,缩容

使用了docker之后,我们部署应用就像是在搭积木一样
SpringBoot Redis 软件升级十分方便:直接升级整个包

扩展十分方便:比如说我后端的服务器A,它的性能已经到瓶颈了,那我现在需要扩展,做负载均衡,增加一个服务器B,那使用docker 就很简单了,先把项目打包为一个镜像,然后在服务B上一键运行就可以了

一个虚拟机上可以运行很多个容器,容器之间也能进行交互

更简单的系统运维

在容器化之后,我们的开发,测试环境都是高度一致的

更高效的计算资源的利用

1个1和2G的服务器就可以运行几十个软件
docker是内核级别的虚拟化,在一个物理机上运行很多的容器实例
服务器的性能可以被压榨到极致。

docker安装

1,docker的基本组成
客户端—服务器-----仓库
客户端使用docker的相关命令来对服务器里的containers 进行操作,containers是基于镜像进行创建的,镜像从哪里来呢,从远程仓库里拉取

名词解释:

镜像(image):镜像就好比是一个模板,可以通过这个模板来创建容器服务,比如说我现在有一个tomcat镜像,我现在要把我的tomcat镜像运行起来,docker run=>容器:tomcat01(提供服务)
通过这个镜像可以创建多个容器(最终的服务运行或者是项目运行就是在容器中的)
容器(container):
docker利用容器技术,可以独立运行一个或一组应用,通过镜像来创建的
容器可以启动,停止,删除----基本命令
仓库(repository):
仓库就是存放镜像的地方
仓库它可以分为公有仓库和私有仓库

公有:Docker Hub aliyun… 都有容器服务(国内源—>配置镜像加速)

2,安装docker

环境准备

centos7

卸载旧版本 :yum remove docker

安装方法:

1,安装软件需要的安装包:yum install yum-utils -y
2,设置镜像的仓库

docker是怎么工作的

docker是一个cs(client-server)结构的系统,
docker的守护进程一直在主机上运行,
通过Socket从客户端访问
docker-server接收docker-client的指令,就会执行这个命令

==================

docker常用命令:
docker version 显示docker的版本信息
docker info 显示docker 的系统信息
docker --help 可以查看docker 的所有命令 也可以查看官网

当一条命令不知道怎么使用时,1可以去官网查,2可以用docker 命令 --help

docker的镜像命令:

docker images 查看本地的主机有哪些镜像

相关参数解释:
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的id
CREATED 镜像的创建时间
SIZE 镜像的大小
相关选项:
-a 显示全部
-q 只显示镜像id

===============

docker search 镜像名 --搜索镜像
常用选项:
–filter 过滤 eg :–filter=STARS=3000 搜索出镜像的stars大于3000的镜像
docker pull 镜像名:版本 拉取镜像

docker常用的命令:

docker version
docker info
docker pull 拉取镜像
docker run
docker help 查看docker容器里面有哪些命令
docker rm/start/stop 删除,启动,停止容器
docker exec -it 进入docker容器
docker ps 查看
docker images 查看有哪些镜像

转载地址:http://bqlzi.baihongyu.com/

你可能感兴趣的文章
Mysql修改最大连接数&重启
查看>>
华为交换机划分vlan
查看>>
CentOS 6.6 搭建Zabbix 3.4.8 过程
查看>>
make: *** No targets specified and no makefile found. Stop.解决方法
查看>>
安装zabbix 3.4版本编译报错configure: error: Unable to use libevent (libevent check failed) 解决办法
查看>>
一行代码更改密码
查看>>
非插件实现cookie版Typecho文章阅读次数统计功能
查看>>
非插件实现Typecho语法高亮
查看>>
windows 下 netsh 实现 端口映射(端口转发)
查看>>
两个好用的命令行工具 watch 和 rsync
查看>>
信安入门神级书单
查看>>
【IPFS指南】IPFS的竞争对手们(一)
查看>>
docker更换国内镜像
查看>>
CentOS 下 tree命令用法详解
查看>>
docker上传镜像至Registry时https报错解决方法
查看>>
安装 docker-compose (实测可用,妈妈再也不用担心被墙了)
查看>>
docker下删除none的images
查看>>
Linux提权获取敏感信息方法
查看>>
Ubuntu 16.04开机A start job is running for Raise network interface(5min 4s)解决方法
查看>>
Ubuntu 16.04开机隐藏菜单缩短时间
查看>>