Docker(一) docker简介安装以及下载运行第一个镜像
一、什么是Docker
docker简介:
docker是一个开源的应用容器引擎,基于go语言,遵从apache2.0协议开源。通过docker让开发者可以打包他们的应用以及依赖到一个可移植的镜像中,然后在其他linux或windows环境中获取镜像,并生成容器进行运行。docker logo为一个托运了很多集装箱的鲸鱼货轮。每一个集装箱类比于装在不同东西的容器。
docker所使用的容器化技术:
在容器化技术之前,在一台电脑上想实现多台电脑效果的是虚拟机,比如我们常用的VMware虚拟软件。通过VMware虚拟出多台各种操作系统的虚拟机。但是由于虚拟软件每次虚拟出虚拟机时往往需要比较大的存储以及内容空间,并且启动也比较慢,缺点比较明显,所以后来Linux发展出另一种虚拟化技术:Liunx容器(Liunx Containers,缩写LXC)。LXC指的是Liunx内核(尤指命名空间以及CGroup)的一个特性,该虚拟化技术相对VMware等虚拟软件不模拟完整的操作系统,而是对进程间进行隔离,将软件所需要的所有资源打包到一个隔离的容器中。容器中不需要操作系统内容,只需要运行软性所需的资源及配置信息。所以在基于LXC之上的Docker容器引擎相比虚拟机更加的轻便,运行也相比快速。(下图左图为虚拟化软件实现的虚拟机结构,右图为虚拟机与docker容积技术对比)
docker三个核心概念:(容器、镜像、仓库)
上面中我们讲了docker是什么,我们大概知道了docker是一个使用了虚拟化容器技术的容器引擎,那么它在我们的使用中他是做了哪些事情。举个例子:我们现在搭建了一个房子,经过了材料采集、实施安装,重重工序之后终于搭建完成可以使用了。可过了段时间,我们需要在另一个地方生活。此刻我们面临的是又得在另一块地方有的重头再来搭建房子,又得花钱出力。然后此时你突然有一个魔法,可以将自己之前的房子复制一份变成一个小魔盒可以放在背包里。到了新的生活地方后,打开魔盒又会变成一个与之前建造的房屋一样的房屋,直接可以入住。在这个例子中使用魔法将原有房屋变成魔盒过程就是docker的创建镜像过程。将镜像装入背包就是docker中的将镜像上传至镜像仓库。通过魔法将魔盒还原成新房子是docker中的使用镜像启动容器过程。在这个例子中可以看出 房子就是docker中的容器(Container),魔盒就是docker中的镜像(Image)。存放镜像的背包就是docker中的镜像仓库(Repository)。镜像仓库中存在很多不同的镜像文件,不同的镜像创建出不同的容器。
、
docker 两句口号:
1,Build, Ship and Run
- Build(构建镜像) : 镜像就像是集装箱,包含文件以及运行环境等等资源;
- Ship(运输镜像) :在宿主机和仓库间进行运输,这里仓库就像是超级码头;
- Run (运行镜像) :运行的镜像就是一个容器,容器就是运行程序的地方。
2,Build once,Run anywhere
搭建一次,随处运行。
二、下载安装
安装docker的前提条件(centos为例):
64位操作系统、CentOs 7 以上版本、已安装 gcc 环境。
下载安装命令:yum install docker
启动docker:systemctl start docker
设置开机自启:systemctl enable docker
查看docker版本:docker version
设置仓库镜像地址
类比于maven的仓库地址一样,设置国内的镜像站下载镜像比较快。
镜像站地址:
1,阿里的:https://gawoonvl2.mirror.aliyuncs.com 来源于阿里云登录后开通服务后看到的。
2,另一个:http://f1361db2.m.daocloud.io (地址来源:https://www.daocloud.io/mirror)
设置方式:
通过修改daemon配置文件/etc/docker/daemon.json文件来使用加速器(如果不存在该文件则新创建一个即可)。
{
"registry-mirrors":["http://f1361db2.m.daocloud.io"]
}
配置完成后执行如下命令并,进行重启即可生效。
systemctl daemon-reload
systemctl restart docker
三、下载第一个镜像以及启动运行
我们下载一个nginx的镜像,并启动运行测试,使用pull命令下载:docker pull nginx,不指定版本时为下载最新版本。
下载完成后使用run命令启动:docker run -d -p 80:80 nginx
第一个80表示外部客户端端口,后面80表示容器内部端口,我们访问我们的客户端ip(docker是按照在linux虚拟机机上的,所以ip为linux ip地址)直接访问测试:
文字中第一部分图片部分内容参考知乎文章:https://zhuanlan.zhihu.com/p/53260098
Docker(一) docker简介安装以及下载运行第一个镜像相关推荐
- Python|Python简介|安装Python解释器|运行|开发工具|Python之禅|turtle绘制五星红旗|绘制方块|绘制小猪佩奇|语言100课:学习(1)
文章目录 源项目地址 初识Python Python简介 Python的历史 Python的优缺点 Python的应用领域 安装Python解释器 运行Python程序 确认Python的版本 编写P ...
- celery学习笔记:celery安装,并运行第一个应用
1.celery通过消息进行通信,通常使用一个叫Broker(中间人)来协client(任务的发出者)和worker(任务的处理者). clients发出消息到队列中,broker将队列中的信息派发给 ...
- 1-微信小程序开发(安装软件和运行第一个微信小程序)
https://developers.weixin.qq.com/miniprogram/dev/ 我的 打开 上传成功后 转载于:https://www.cnblogs.com/yangfengwu ...
- Docker Toolbox:Docker Toolbox的简介、安装、使用方法之详细攻略
Docker Toolbox:Docker Toolbox的简介.安装.使用方法之详细攻略 目录 Docker Toolbox的简介 0.优缺点 1.工具箱包括以下Docker工具 Docker To ...
- Docker:Docker的简介、安装、使用方法之详细攻略
Docker:Docker的简介.安装.使用方法之详细攻略 目录 Docker的简介 0.1.知乎对Docker的理解-Docker就是集装箱 0.2.简书对Docker的理解-Docker带来标准化 ...
- Docker安装Apache与运行简单的web服务——httpd helloworld
Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...
- docker探索-docker安装运行tomcat(六)
前言 本地已经搭建好了,tomcat容器,本来想自己写一篇,在开源中国一篇不错的教程,就转载过来了 本文转自:https://my.oschina.net/sunchp/blog/61652 ...
- Docker 简介 安装
docker概述 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.使用最广泛的开源容器引擎.一种操作系统级的虚拟化技术.依赖于Linux内核特性:Name ...
- docker教程_1 简介和安装
https://gitee.com/fakerlove/docker 文章目录 Docker 教程 1. 简介 1.1 概念 1.2 优点 1.3 安装 环境准备 安装 Docker 教程 1. 简介 ...
最新文章
- Workout Wednesday Redux (2017 Week 3)
- UA PHYS515A 电磁理论III 静磁学问题3 静磁学问题的边界条件与标量势方法的应用
- 【STM32】学习笔记RTC日历基础应用问题分析
- echarts热力背景图_Echarts 图表中设置背景图片
- flex 学习篇 ---- 导航类容器
- 关于面试题的一些想法
- xamarin UWP ActivityIndicator
- [sql2008错误问题] RegisteredServerException 异常
- python模拟ssh登录
- 最少拍控制系统设计(一)-- 最少拍无纹波系统的设计方法
- java验证码 验证
- Vue中动态绑定自定义快捷键
- html里表格做斜线表头,word表格斜线_Word2010怎么绘制斜线表头-太平洋IT百科
- 音声合成:音高、泛音、谐波、基频 到底是什么概念?
- java输入输出流_Java学习之输入输出流
- mysql 高并发的解决方案
- LeetCode 【算法专栏】 【图】
- GD32汽车诊断KWP 协议/ ISO-14230测试
- 500 - 内部服务器错误. 您要查找的资源有问题,无法显示.,HTTP 500 - 内部服务器错误 Internet Explorer【转】...
- 茶饮行业舆情管理方案
热门文章
- Keith Hill的Effective Windows PowerShell.pdf下载
- Django项目部署到Linux后,上传文件的时候,mkdirs创建目录OSError - Errno 13 Permission denied
- getClass().getProtectionDomain().getCodeSource().getLocation().toURI().getSchemeSpecificPart()返回内容解析
- 利用Python定时给女友微信发送今日天气情况,异地恋维护感情神器
- 转:QQ登录时错误码说明及解决办法
- NoClassDefFoundError 解决方法
- CentOS 6.5下Python3.5以及virtualenv、virtualenvwrapper的安装配置
- JAVA面试-HIBERNATE与 MYBATIS的对比
- Jenkins持续集成环境, 如何自定义 maven repositories
- ViBe(Visual Background extractor)背景建模或前景检测