1.Docker简介

  1. docker的历史

    2010年,几个的年轻人,就在美国的旧金山成立了一家公司 dotcloud。做一些Paas平台的创业公司! 从事LXC(Linux Container容器)有关的容器技术!Linux Container容器是一种内核虚拟化技术,可以 提供轻量级的虚拟化,以便隔离进程和资源。他们将自己的技术(容器化技术)命名就是 Docker。
    Docker刚刚延生的时候,没有引起行业的注意!虽然获得了创业孵化器(Y Combinator)的支持、也获得 https://www.docker.com ,docker官方文档地https://docs.docker.com/
    https://github.com/docker/docker-ce过一些融资,但随着IT巨头们(微软、谷歌、亚马逊等厂商)也进入PaaS凭他,dotCloud举步维艰,眼看 就活不下去!
    2013年,dotCloud的创始人,28岁的Solomon Hykes做了一个艰难的决定,将dotCloud的核心引擎开 源,这项核心引擎技术能够将Linux容器中的应用程序、代码打包,轻松的在服务器之间进行迁移。这个 基于LXC技术的核心管理引擎开源后,让全世界的技术人员感到惊艳。感叹这一切太方便了!!越来越 多的人发现docker的优点!火了。Docker每个月都会更新一个版本!2014年6月9日,Docker1.0发 布!1.0版本的发布,标志着docker平台已经足够成熟稳定,并可以被应用到生产环境。 docker为什么这么火?因为docker十分的轻巧!在容器技术出来之前,我们都是使用虚拟机技术!在 window中装一个VMware,通过这个软件我们可以虚拟出来一台或者多台电脑!笨重!虚拟机也属于虚 拟化技术,Docker容器技术,也是一种虚拟化技术!
    1. 为什么会有docker出现

      假定您在开发一个微服务项目,您使用的是一台笔记本电脑而且您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。此外,您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。您希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销。请问?您要如何确保应用能够在这些环境中运行和通过质量检测?并且在部署过程中不出现令人头疼的版本、配置问题,也无需重新编写代码和进行故障修复? 答案就是使用容器。Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案-----系统平滑移植,容器虚拟化技术。环境配置相当麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。

      docker 可以: 开发/运维(DevOps)新一代开发工程师

      3. docker理念                                                                                                                                                                                                                                                                                      Docker是基于Go语言实现的云开源项目 。Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”。

2.什么是docker

当人们说“Docker”时,他们通常是指 Docker Engine,它是一个客户端 - 服务器应用程序,由 Docker 守护进程、一个REST API指定与守护进程交互的接口、和一个命令行接口(CLI)与守护进程通信(通过 封装REST API)。Docker Engine 从 CLI 中接受docker 命令,例如 docker run 、docker ps 来列出正 在运行的容器、docker images 来列出镜像,等等。

docker是一个软件,可以运行在window、linux、mac等各种操作系统上。
docker 是一个开源的应用容器引擎,基于Go 语言开发并遵从 Apache2.0 协议开源,项目代码托 管在github上进行维护
docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任 何流行的 Linux 机器上。
容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

3.docker基本组成

docker主机(Host):安装了Docker程序的机器(docker直接安装在操作系统之上);
docker仓库(Registry):用来保存各种打包好的软件镜像;仓库分为公有仓库和私有仓库。(很类似 maven,Docker Hub)
docker镜像(Images):软件打包好的镜像;放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用

4.docker 安装

前提条件
目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在CentOS 7 (64-bit)上,
要求系统为64位、Linux系统内核版本为 3.8以上,这里选用Centos7.x
 
查看自己的内核
uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)

1.下载安装地址

2.卸载旧版本

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

3.yum安装gcc相关

yum -y install gccyum -y install gcc-c++安装官网要求的依赖包:
yum install -y yum-utils

主要在设置镜像仓库的时候,管网上提供的地址 和容易超时:

我们需要设置为:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.更新索引包并安装

更新yum软件包索引:yum makecache fast安装DOCKER CE:yum -y install docker-ce docker-ce-cli containerd.io启动docker:
systemctl start dockersystemctl stop docker systemctl restart dockersystemctl status dockersystemctl enable docker测试:查看版本:
docker version卸载docker:1. systemctl stop docker
2. yum remove docker-ce docker-ce-cli containerd.io
3.  rm -rf /var/lib/docker
4.  rm -rf /var/lib/containerd

5.配置镜像加速

mkdir -p /etc/dockertee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"]
}
EOF注意: 镜像加速地址,是你自己阿里云上的地址 ,参考下面截图查看重启服务:
systemctl daemon-reload
systemctl restart docker

6.测试,运行  docker run hello-world  ,, 有看到 hello from docker 输出就表示成功了

run主要干了:

Docker学习手记2

Docker学习手记-1相关推荐

  1. AM335X的汇编语言与c语言,X86汇编语言学习手记 -- 汇编和C协同

    X86汇编语言学习手记(3) 2004年12月 在X86汇编语言学习手记(1)(2)中,可以看到栈(Stack)作为进程执行过程中数据的临时存储区域,通常包含如下几类数据: 局部变量 函数调用的返回地 ...

  2. webpack入门学习手记(一)

    本人微信公众号:前端修炼之路,欢迎关注. 之前用过gulp.grunt,但是一直没有学习过webpack.这两天刚好有时间,学习了下webpack.webpack要想深入研究,配置的东西比较多,网上的 ...

  3. ROS学习手记 - 2.1: Create and Build ROS Package 生成包(Python)

    ROS学习手记 - 2.1: Create and Build ROS Package 生成包(Python) ROS学习手记 - 2.1: Create and Build ROS Package ...

  4. Docker:学习笔记(1)——基础概念

    Docker:学习笔记(1)--基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...

  5. [转]Docker学习之四:使用docker安装mysql

    本文转自:https://blog.csdn.net/qq_19348391/article/details/82998391 Docker学习之一:注册Docker Hub账号 Docker学习之二 ...

  6. Docker学习之路 用commit命令创建镜像

    Docker学习之路 用commit命令创建镜像 docker 74k 次阅读 · 读完需要 7 分钟 假期快要结束了,干点正事,接着Docker的学习. 构建镜像 构建镜像的两种方法: 使用dock ...

  7. Docker 学习资源整理

    Docker 是近年来非常火的容器技术,而且啊 Docke r不仅仅是红帽和Canonical等Linux巨头眼里的宠儿,微软等专有软件公司也在热烈拥抱 Docker,所以就知道 Docker 为啥这 ...

  8. Docker学习与和应用(二)_使用Docker

    在前一篇文章 Docker学习与和应用(一)_初步认识中,我们初步介绍了Docker解决了什么问题,Docker容器化技术与传统的虚拟化方式的区别,以及简要介绍了Docker的几大核心概念:镜像.容器 ...

  9. Docker学习笔记_网上资源参考

    Docker学习,网上资源参考 1.菜鸟教程:                                                        http://www.runoob.com ...

最新文章

  1. C# Application.DoEvents() 处理队列消息,防界面假死。
  2. 全球与中国压延铜箔市场发展调研及投资前景战略建议报告2022-2028年版
  3. Request Header Or Cookie Too Large
  4. 50多种在Photoshop中删除图像背景的工具和技术,第3页
  5. 【自适应盲均衡2】多径衰落信道的复数常模算法(CMA)的理论推导与MATLAB仿真
  6. 懒加载的3种实现方式
  7. java实例成员与类成员区别_Java之实例成员与类成员
  8. 沪漂6年,我终于在上海买了第一套房
  9. c语言控制单片机38译码器,单片机+38译码器控制的数码管怎么点亮?
  10. selenium 在pycharm中安装selenium
  11. 线性代数知识点(行列式篇)
  12. CREO学习笔记【常见表面处理工艺】
  13. php操作阿里云短信API接口
  14. matlab 交互效应三维图,【MATLAB】使用MATLAB绘制心理学中的交互作用图
  15. 10块钱闯荡深圳,如今身价935亿,超越李彦宏,他竟如此低调……
  16. (网络)网络层:IP协议解析、地址管理(IP地址、子网掩码)、路由选择
  17. 利用多线程与网络编程编写的实时聊天小程序
  18. easyExcel自定义背景颜色easyPoi自定义修改表头背景色
  19. Chrome前端插件
  20. 一文助你入门HTML(❤ ω ❤)

热门文章

  1. Android系统默认Home应用程序 Launcher 的启动过程源代码分析
  2. 持续不定期更新:CFDC++之拟一维喷管流动的数值解(2)
  3. 华为8月9日发布鸿蒙,8月9日华为正式发布鸿蒙系统
  4. ip后面带端口号如何做域名解析
  5. NCBI上基因前面有个accession(编号)分别有NC是什么意思
  6. python实现支持向量机实例_一个简单的案例带你了解支持向量机算法(Python代码)...
  7. 开源免费 低代码平台开源_行动透明:免费代码营现已开源
  8. java 雷达反射面积_请问:如何使用基本反射率雷达图中的dBZ值判断天气情况?比如多云、雷雨、晴等。谢谢!...
  9. 目标跟踪之数据标注软件ViBAT使用指导
  10. titan框架的使用_如何设置和使用Google Titan密钥捆绑包