定义:

Docker是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。 原理: docker底层使用了LXC来实现,LXC将linux进程沙盒化,使得进程之间相互隔离,并且能够协调各进程的资源分配。 LXC: LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。

Docker三个重要概念:

镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。 容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。 仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分。

容器和虚拟机的区别:

容器是应用程序层的抽象,将代码和依赖项打包在一起。多个容器可以在同一台计算机上运行,​​并与其他容器共享OS内核,每个容器在用户空间中作为隔离的进程运行。容器占用的空间少于VM(容器映像的大小通常为几十MB),可以处理更多的应用程序,并且需要的VM和操作系统更少。

虚拟机(VM)是将一台服务器转变为多台服务器的物理硬件的抽象。系统管理程序允许多个VM在单台计算机上运行。每个VM包含操作系统,应用程序,必要的二进制文件和库的完整副本-占用数十GB。VM也可能启动缓慢。

k8s与Docker的关系

1、K8S是用来管理容器的,pod是k8s的最小操作单位。pod包含各个功能的容器,pod在node运行,master管理node。

2、Docker就是创建容器的工具,可以看作k8s的组件。

优点:

1.部署方便 2.部署安全 3.隔离性 4.快速回滚 5.资源利用率高 6.管理成本低

缺点:

1.隔离性 2.性能(数据交互,网络连接) 3.复杂

Docker中各容器如何通信(推荐使用):

docker network来创建一个桥接网络,在docker run的时候将容器指定到新创建的桥接网络中,这样同一桥接网络中的容器就可以通过互相访问。 创建网络: docker network create test-network 启动容器时,加入创建的网络: docker run -it --network test-network --network-alias mysql -e MYSQL_ROOT_PASSWORD=123 mysql:5.7 启动被链接的容器: docker run -it --network test-network --network-alias centos centos /bin/bash

Docker安装

要求:lunix内核,要求3.8以上 1.安装工具包:

2.设置远程仓库:

3.安装docker:

4.启动docker:

5.查看版本:

6.校验:

(看到这行没关系,稍等一下就好了)

最新文章

  1. 【AR实验室】OpenGL ES绘制相机(OpenGL ES 1.0版本)
  2. 【Java EE 学习 27】【oracle学习第一天】
  3. angularjs 嵌套控制器,子控制器访问父控制器
  4. jsp 表单提交,服务器跳转方法 浏览器重定向 及 servlet映射时 路径问题
  5. Hadoop Browse the filesystem 无效处理
  6. codeforces343A A. Rational Resistance
  7. 【不积跬步,无以致千里】vim复制
  8. 正则表达式start(),end(),group()方法
  9. foreach遍历----for(object o: list)
  10. DC DC電路電感的選擇
  11. JDFS:一款分布式文件管理系统,第三篇(流式云存储)
  12. octave installation on RHEL6.4
  13. sql 查询表格中多列重复的数据并显示该表的其他列
  14. Quartz.net 定时任务之储存与持久化和集群(源码)
  15. Ajax跨域访问解决方案
  16. centos7 关闭 防火墙
  17. vs2017 xamarin新建单独UWP类库提示不兼容
  18. Java 中 String 的常用方法(二)
  19. Data Warehouse Hardware - DW硬件需求计算
  20. 在 QML 中创建 C++ 导入类型的实例

热门文章

  1. Storybook 最新教程
  2. 字节跳动-前端面试题 Multi Promise Order
  3. Google reCAPTCHA 2 : Protect your site from spam and abuse & Google reCAPTCHA 2官方教程
  4. Fullscreen API All In One
  5. TypeScript 3.7 RC & Optional Chaining
  6. news of javascript
  7. 200万枚SPC空投来袭,这样的薅羊毛活动你确定不参加吗?
  8. NGK公链有发展前景吗?
  9. java基础第12期——反射、注解
  10. 微信小程序中input标签高度设置