菜鸟系列docker——docker基本概念(1)
docker基本概念
1.准备
这里先介绍容器技术,后续再介绍docker。docker是容器的一种,除docker以外,还存在coreos。不过在当前趋势下容器和docker基本上可以划为等号了。
1.1 容器是什么?
谈到容器,大家可能很熟悉,就和大家在工地看到的集装箱房子一样,里面基本设施都有,多个集装箱房互不干扰,公用一些水电基本设施,当需要换个地方是时候,把集装箱搬过去就行。而这里的容器就是这样的一种技术,可以把我们开发的一些程序,所需要的环境进行打包,使得我们的应用程序可以在虚拟机、服务器、云服务等平台跑,而不需要在各个平台搭环境,在运行程序。容器是一种轻量级、可移植等软件打包技术。
容器一般由2部分组成,应用程序和依赖库或依赖的其他程序。可能说到这里,就有人问这和虚拟机有啥区别,都是需要一台宿主机运行,虚拟化出自己的环境跑自己的代码。这里我们就进行简单的分析:
- 虚拟机:需要宿主机上虚拟硬件,在此基础上再部署系统,再部署应用。
- 容器:直接在宿主机运行,就和一个进程差不多
1.2 容器有哪些优点?
各位是否存在本地跑的好好的,在交付的时候发现问题一大堆,不是缺这个就是缺那个。最后来了句“在本地跑的好好的”。此时,由于环境问题,你可能就凉了。
这个时候,容器就可以大显神威,容器就把集装箱的思维用在IT上,我们可以将环境、依赖及程序全部打包成一个容器,在其他环境直接运行这个容器就好,就可以不考虑什么环境问题,缺库问题来。通过容器可以将任何应用及其依赖打包成一个轻量级、可移植、自包含的容器。容器可以运行在几乎所有的操作系统上。
2.docker技术
上面简单介绍来下容器是什么?容器能干啥?接下来肯定就是怎么干了?后续对容器的操作本系列将逐步进行讲解,主要是对docker技术进行学习。
2.1 docker架构
Docker 采用的是 Client/Server 架构。客户端向服务器发送请求,服务器负责构建、运行和分发容器。客户端和服务器可以运行在同一个 Host 上,客户端也可以通过 socket 或 REST API 与远程的服务器通信。其中,docker客户端我们一般就是直接通过命令操作,通过docker命令在宿主机进行容器、镜像等一系列操作。而docker服务器以linux后台的方式运行,执行我们操作的命令,例如容器的创建、运行,打镜像等操作。
2.2 docker学习核心
主要是以下3点,镜像、容器和仓库。
- 仓库Registry
Registry 是存放 Docker 镜像的仓库,Registry 分私有和公有两种。 Docker Hub(https://hub.docker.com/) 是默认的 Registry,由 Docker 公司维护,上面有数以万计的镜像,用户可以自由下载和使用。当然,我们也可以搭建自己的私有仓库。 - 镜像image
镜像就是我们创建容器的一系列操作的集合,通过这个镜像创建容器。我们一般写一个Dockerfile文件构建镜像。这里镜像就和我们的程序安装包类似,安装后就可以运行程序了。 - 容器container
容器就是镜像运行后的实例,类似于安装包安装后的程序,可以运行和退出。
2.3 docker安装
“工欲善其事,必先利其器”,在正式学习之前,先安装docker,这里笔者是在centos环境下进行操作,其他环境下各位大佬自行度娘哈。
安装docker
sudo yum update
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum list docker-ce --showduplicates | sort -r
可根据上述显示版本自行安装,本人是默认
sudo yum install docker-ce
docker version
sudo systemctl start docker
因为一般docker操作时都需要root用户权限,这里建议把当前用户加入docker用户组
# 添加 docker 用户组
groupadd docker
# 把需要执行的 docker 用户添加进该组,这里是 eggsy
gpasswd -a eggsy docker
# 重启 docker
systemctl restart docker
如果普通用户执行docker命令,如果提示get …… dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限 使用root用户执行如下命令,即可
sudo chmod a+rw /var/run/docker.sock
# docker服务开机自启动
systemctl enable docker
删除docker
yum list installed|grep docker
sudo yum -y remove docker-ce.x86_64 docker-ce-cli.x86_64
sudo rm -rf /var/lib/docker
菜鸟系列docker——docker基本概念(1)的更多相关文章
- 菜鸟系列Fabric——Fabric 基本概念(1)
Fabric 基本概念 1.区块链介绍 区块链之所以引来关注是因为比特币开源项目,尤其是比特币价值的飙升,让大家开始关注数字货币以及相关技术.那么区块链究竟是什么? 1.1 区块链定义 狭义上,区块链 ...
- Docker系列(一)Docker概述,核心概念讲解,安装部署
部分内容参考链接: Docker实战总结(非常全面,建议收藏) 一. Docker概述 Docker是一个开源的应用容器引擎(基于Go语言开发),让开发者可以打包他们的应用以及依赖包到一个可移植的容器 ...
- 菜鸟系列docker——docker镜像下(5)
1. docker镜像构建 该章节主要介绍2种构建docker镜像的方式.当然,当前基本上需要的基础镜像都有,直接使用即可.例如数据库.中间件之类的,只需要拿来使用即可,但是依然存在需要开发者构建镜像 ...
- 菜鸟系列docker——docker镜像中(4)
docker镜像命令 该章节主要介绍docker image相关命令实践操作,建议都一起跑一边 1. docker images 列举本机docker镜像 [centos@jiliguo docker ...
- 菜鸟系列docker——docker镜像上(3)
1. 镜像image 镜像和容器的关系就和安装包和程序的关系一样,有了镜像才可以启动容器,容器是镜像的一个运行实例. 1.1 镜像的结构 通过第二节仓库,可能很多看官已经查看到镜像是分层的,接下来将对 ...
- Docker系列之Docker镜像(读书笔记)
一.基本概念 Docker包括三个基本概念镜像.容器.仓库. Docker镜像:就是一个只读的模板.例如:一个镜像可以包含一个完整的ubuntu操作系统环境,里面仅安装了Apache或其他应用程序.用 ...
- Docker系列09—Docker的系统资源限制及验证
本文收录在容器技术学习系列文章总目录 1.限制容器的资源 默认情况下,容器没有资源限制,可以使用主机内核调度程序允许的尽可能多的给定资源.Docker提供了控制容器可以使用多少内存或CPU的方法,设置 ...
- docker的核心概念和安装
里Dcoker的安装要求 我这里安装的是在vmware下的centos7 64位 并且通过模拟远程连接xshell 我在安装好之后就配置了静态ip,这里我就不多说怎么配置了 具体静态ip配置可以参考 ...
- Docker介绍基本概念(一)
Docker介绍基本概念 1.什么是Docker? 说实话关于Docker是什么并太好说,下面我通过四点向你说明Docker到底是个什么东西. Docker是世界领先的软件容器平台. Docker使用 ...
- Docker的一些概念
Docker的一些概念 2.1 什么是Docker? 说实话关于Docker是什么并太好说,下面我通过四点向你说明Docker到底是个什么东西. Docker 是世界领先的软件容器平台. Docker ...
随机推荐
- BFS —— 信息学一本通(1451:棋盘游戏)
题目描述 在一个4*4的棋盘上有8个黑棋和8个白棋,当且仅当两个格子有公共边,这两个格子上的棋是相邻的.移动棋子的规则是交换相邻两个棋子.现在给出一个初始棋盘和一个最终棋盘,要求你找出一个最短的移动序 ...
- TimesTen中文乱码问题(其实是cmd.exe中文乱码)
解决了导入数据的问题后,从导师那儿拷贝了一些样例数据,结果发现cmd.exe中文乱码(开始我以为是TimesTen无法显示中文).在网上搜了很多,因为我以为是TimesTen无法显示中文,所以都是搜的 ...
- Elasticsearch 滚动重启 必读
关键词:elasticsearch , es , 滚动重启 , 禁止分片 由于之前es GC没有怎么调优,结果今天被大量scroll查询查挂了,GC 卡死了.然后为了先恢复给业务使用,也没什么其他办法 ...
- 使用Jacksum对文件夹和文件生成checksum
Jacksum 是一个java开源工具, 用来 给单个文件生成checksum, 也可以给整个文件中所有文件生成checksum,生产的checksum 可以是MD系列,也可sha. 你可以参考 官 ...
- Spring 复习第一天
一.Sping的优点 1.方便解耦,简化开发 ----Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理. 2.AOP编程的支持 ----Spring提供面向切面编程, ...
- 关于js的页面高度和滚动条高度还有元素高度
window.innerHeight 这是浏览器里面内容的高度,直接就是值,不需要其它操作; window.pageYOffset 这是滚动条到浏览器顶端的距离; $(元素).offset(). ...
- 二分- Count on Canton
题目: 代码: 是一个蛇形数列,把题目上的那组数倒过来看成一个正三角形. 第一行有1个数,1-2行有三个数,1-4行有6个数,1-4行有10个数,1-5行有15个数..... 现在要求第n个数是多少, ...
- 发现了学校教务处官网的两个BUG
许久没有写博客了,感觉自己技术还差的好多-_-好像没啥好写的,之前学完了某易的WEB安全基础视频教程,自认对WEB安全入了门,忍不住就想拿学校教务处官网来练练手 教务处登录界面如图所示(为保护隐私,部 ...
- Java作业十三(2017-11-20)
/*使用一位数组解决 1 1 2 3 5 8 13 数列问题 斐波纳契数列 Fibonacci*/ package cn.GM; public class array { public static ...
- LeetCode编程训练 - 滑动窗口(Sliding Window)
滑动窗口基础 滑动窗口常用来解决求字符串子串问题,借助map和计数器,其能在O(n)时间复杂度求子串问题.滑动窗口和双指针(Two pointers)有些类似,可以理解为往同一个方向走的双指针.常用滑 ...