Docker 介绍 一

简介: Docker 介绍 一

本案例借鉴 https://topsale.gitbooks.io/java-cloud- dubbo/chapter3/Docker%E5%8A%9F%E8%83%BD%E7%89%B9%E7%82%B9.html

Docker 是一个开源的应用容器引擎,基于Go语言并遵循Apacher 2.0 协议开源

Docker 引擎,是一个包含以下主要组件的客户端服务程序(Docker 引擎的流程图)
图片.png

是一种服务器,它是一个被称为守护进程并且长时间运行的程序,Rest api 用于指定程序可以用来与守护进程进行通信的接口,并指示它可以做什么,一个命令行的界面(cli) 工具的客户端。

Docker 的功能特点:

轻松快捷的配置:

这是Docker 的一个主要的功能,可以帮助我们轻松快捷的配置系统,可以在更少的时间和精力下部署代码,由于Docker 可以在各种个样的环境中使用,基础架构不再要求与用用程序的环境相关联

提高工作效率:

通过放宽技术配置和应用的快速部署,毫无疑问,它节约了时间提高了生产率,Docker 不仅有助于在孤立的环境中执行应用程序(每一个应用是一个单独的环境,每个环境都有一份独立的OS 系统),而且还减少资源

应用隔离:

Docker 提供用于在隔离环境中运行应用程序的容器,每个容器都独立于另一个容器,并允许任何类型的应用程序(因为,每个容器的底层都有一个单独的os 机制)

云调用

它是Docker 容器的集群和调度的工具,Swarm 使用Docker api 作为其 前端,这有助于我们使用何种工具来控制它,它还可以将Docker 主机 集群 控制一个虚拟主机,这是一个用于启用可拔插后端的自组织引擎组,使用Swarm 来进行管理集群

路有网

他可以用于节点上已发布端传入请求路由到活动容器,即使节点上没有任务正在运行此功能也可以实现链接(容器与容器之间通信的路有网)

服务

服务值允许执行集群内容器状态的任务列表,每个任务表示一个应该运行的容器的实例,并且Swarm在节点之间的调度

安全管理

他允许将保密的数据保存到云群(Swarm)中,然后选择给与服务访问某些保密数据,它包含一些重要的命令给引擎,如保密的数据,保密数据的创建等

Docker 是cs模式(客户端 --- 服务器端) 使用远程的api 来管理和创建Docker 容器

Docker 容器通过Docker 镜像来进行创建

容器和镜像的关系类似于 面向对象编程中的类与对象
图片.png

先有镜像才有容器,我们在使用容器端通过api 操作的是容器

图片.png

首先使用Docker pull 去调用 Docker daemon ,如果此时本地仓库中有镜像,则可以直接创建容器,并且可以创建多个,但是当使用Docker pull 去调用 Docker daemon 去本地仓库中查找镜像不存在的时候,则会去Docker 的仓库中拉取,并且当拉取到本地之后,使用Docker run 去进行创建容器,并且可以创建多个对象,

说一下什么是数据卷:

数据卷就是一个可以提供一个或者多个容器使用的特殊目录。

可以达到的目的是:绕过“拷贝写”系统,已到达本地磁盘IO的性能,(比如运行一个容器,在容器中对数据进行修改的时候,会直接改变宿主机上的数据卷的中的内容,所以在本地磁盘io的性能,而不是先在容器中写一份,然后再将容器中的修改的内容拷贝出来同步)

绕过“拷贝写”系统,有些文件不需要在 docker commit 打包进镜像文件中

在多个容器间共享目录

在宿主机和容器间共享目录

在宿主机和容器中共享一个文件

数据卷的创建:

方法一:在Dockerfile 中指定 VOLUME 的目录  如 VOLUME /var/lib/test 

方法二: 在docker run 命令中加 -v docker run -d -P -v /webapp training/webapp python app.py

相关文章
|
Ubuntu Shell Docker
Docker 介绍 三 基本使用
Docker 介绍 三 基本使用
213 0
Docker 介绍 三 基本使用
|
存储 Linux Docker
Docker入门-介绍和安装
Docker容器 Docker是什么 Docker最初是dotCloud公司创建人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于2013年3月以Apache2.0授权协议开源,主要项目代码在Github上进行维护。
2744 0
|
Shell Docker 容器
|
缓存 Linux Shell
Docker介绍(一)
在TES GLOBAL,我们已经爱上Docker并从Docker的0.8版本开始就在生产环境中使用它。我们的很多开发者都参加了在DockerCon欧洲上的培训。下面是我们总结的一些tips,希望可以帮到已经有Docker基础的同学。
1180 0
|
14天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
2天前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
2天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
19 6
|
2天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
13 5
|
2天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
19 3
|
2天前
|
存储 安全 数据安全/隐私保护
Docker 容器化应用管理更加高效,但数据安全和业务连续性成为关键。
在数字化时代,Docker 容器化应用管理更加高效,但数据安全和业务连续性成为关键。本文探讨了 Docker 应用的备份与恢复策略,涵盖备份的重要性、内容、方法及常见工具,制定备份策略,恢复流程及注意事项,并通过案例分析和未来趋势展望,强调备份与恢复在保障应用安全中的重要性。
13 2