Docker入门
Posted java-chicken
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker入门相关的知识,希望对你有一定的参考价值。
1.Docker概念
1.Docker是供开发人员和系统管理员使用容器构建,共享和运行应用程序的平台。使用容器来部署应用程序称为容器化。容器不是新的,但用于轻松部署应用程序的容器却是新的。
2.容器化越来越受欢迎,因为容器是:
- 灵活:即使最复杂的应用程序也可以容器化。
- 轻量级:容器利用并共享主机内核,在系统资源方面比虚拟机更有效。
- 可移植:您可以在本地构建,部署到云并在任何地方运行。
- 松散耦合:容器是高度自给自足并封装的容器,使您可以在不破坏其他容器的情况下更换或升级它们。
- 可扩展:您可以在数据中心内增加并自动分发容器副本。
- 安全:容器将积极的约束和隔离应用于流程,而无需用户方面的任何配置。
2.容器化技术理解
远古时代:成本高、部署慢、浪费资源、硬件限制、不利于迁移扩展
虚拟化时代: 资源利用率和扩展相对提高,但虚拟机一上来就要占用比较多的物理资源,移植性差
容器时代:使应用程序现代化,加速创新,在任何地方安全地构建,共享和运行现代应用程序
3.Docker安装(macos系统)
3.1 手动下载dmg文件(https://download.docker.com/mac/stable/Docker.dmg)
3.2按照提示进行安装
3.3安装好后会出现一个图标
3.4 进入控制台输入命令查看版本
sudo docker -v
3.4运行后点击1得到下图
3.5点击上图中2得到下图,也可以启动k8s(很方便)
3.6可以设置阿里云镜像(ps:阿里云地址:https://cr.console.aliyun.com/cn-hangzhou/instances/repositories )
4. Docker架构
Docker使用客户端-服务器架构。Docker 客户端与Docker 守护进程进行对话,该守护进程完成了构建,运行和分发Docker容器的繁重工作。Docker客户端和守护程序可以 在同一系统上运行,也可以将Docker客户端连接到远程Docker守护程序。Docker客户端和守护程序在UNIX套接字或网络接口上使用REST API进行通信。
5.Docker中两个核心概念
Image
Image 是轻量的,独立的,可执行包的软件,包括运行的应用程序所需的一切:代码,运行时,系统工具,系统库和设置。
Container
Container是打包代码和所有程序的标准软件单元它的依赖关系,因此应用程序可以从一个应用程序快速可靠地运行计算环境到另一个。
Image和Container 关系:
从根本上说,一个容器不过是一个正在运行的进程,并对其应用了一些附加的封装功能,以使其与主机和其他容器隔离。容器隔离的最重要方面之一是每个容器都与自己的私有文件系统进行交互。该文件系统由Docker 映像提供。映像包括运行应用程序所需的所有内容-代码或二进制文件,运行时,依赖项以及所需的任何其他文件系统对象。
Container和VM关系:
容器在Linux上本地运行,并共享主机的内核与其他容器。 它运行一个离散过程,占用的内存不超过任何其他可执行文件,使其轻巧。相比之下,虚拟机(VM)运行成熟的“ guest”操作系统通过虚拟机管理程序虚拟访问主机资源。 通常,虚拟机提供比大多数应用程序所需资源更多的环境。
以上是关于Docker入门的主要内容,如果未能解决你的问题,请参考以下文章
Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段
markdown [Docker] Docker片段列表和命令#linux #docker #snippets