作者:半身风雪
简介:今天带大家一起学习一下 云原生
,云原生是什么?当初我听到这个词汇的时候,我也是一脸的懵,满脑子都是星星的那种。然后我在想,这又是什么高大上的东西?和区块链、AI、AR等有什么区别呢?是我们目前能够达到的吗?前景怎么样呢?未来是否可期?等等各种问题,我也请教了一些大佬,咨询相关问题。今天,我将带领大家,一起来敲开云原生神秘的大门。
Docker 入门
前言
本文我将课程共分为四大部分,通过这四大部分的学习,我想你应该能迅速的搭建自己的入门技术:
- 环境搭建
- Docker 仪表盘 Dashboard
- 容器
- 容器图像
一、环境搭建。
如果你还没有安装了Docker Desktop 开发工具,请点击 这里 跳转至 Docker Desktop 下载地址安装。
接下来我们打开自己的终端,并输入:
docker run -d -p 80:80 docker/getting-started
由于我已经配置过端口,所以我的运行结果是:
如果你之前没有分配过,会有一个下载的过程,当然,这里的端口80我们是可以更改的,哪怕你已配置过,也可以重新分配的哦。
如果你关闭了端口,再次运行的时候,会出现:
我们先来学习一下这几个参数是什么意思:
d
在分离模式下运行容器(在后台)p 80:80
将主机的端口80映射到容器中的端口80docker/getting-started
要使用的图像
当然,你也可以使用简写的方式:
docker run -dp 80:80 docker/getting-started
二、Docker Dashboard
在我们学习更多的东西之前,我们先来了解一下 Docker 的 Dashboard,它是我们快速查看代码运行的容器。在这里提示一下,Docker Dashboard 可是Mac 和 windows 都支持的哦。它可以让我们快速的访问视图日志,让容器获得外壳,并且能帮助我们轻松的管理容器的生命周期(停止,删除等)。
当我们点击,图标的时候,就会出现 Dashboard 面板选项,当你打开之后,你会看到你所运行起来的项目,当然,本章不会介绍 Dashboard 相关的详细内容,我将在下一节带领大家一起学习。
三、什么是容器?
通过我们上面的学习,我们已经运行了一个容器,那么什么是容器呢?简单来说,容器就是我们机器上的沙盒化进程,是一个与主机上其他进程隔离的。这种隔离利用了内核命名空间和cgroups
,这些功能在Linux中已经存在了很长时间。Docker一直致力于使这些功能平易近人且易于使用。
总而言之,容器:
- 是图像的可运行实例。您可以使用DockerAPI或CLI创建、启动、停止、移动或删除容器。
- 可以在本地机器、虚拟机上运行或部署到云端。
- 便携(可以在任何操作系统上运行)
- 容器相互隔离,并运行自己的软件、二进制文件和配置。
当然,本篇文章,只是带领大家了解学习 Docker 简单认识,关于容器是如何创建的,如何工作的,我们会在后面的章节再个大家介绍。
我们先来认识一下容器的部分指令集:
Command | Description |
---|---|
docker container attach | 将本地标准输入、输出和错误流附加到正在运行的容器 |
docker container commit | 从容器的更改中创建新映像 |
docker container cp | 在容器和本地文件系统之间复制文件/文件夹 |
docker container create | 创建一个新容器 |
docker container diff | 检查容器文件系统上文件或目录的更改 |
docker container exec | 在正在运行的容器中运行命令 |
docker container export | 将容器的文件系统导出为焦油归档 |
docker container inspect | 显示一个或多个容器的详细信息 |
docker container kill | 杀死一个或多个正在运行的容器 |
docker container logs | 获取容器的日志 |
docker container ls | 列出容器 |
docker container pause | 暂停一个或多个容器中的所有进程 |
docker container port | 列出容器的端口映射或特定映射 |
docker container prune | 移除所有已停止的容器 |
docker container rename | 重命名容器 |
docker container restart | 重新启动一个或多个容器 |
docker container rm | 移除一个或多个容器 |
docker container run | 在新容器中运行命令 |
docker container start | 启动一个或多个停止的容器 |
docker container stats | 显示容器资源使用统计信息的实时流 |
docker container stop | 停止一个或多个正在运行的容器 |
docker container top | 显示容器的运行进程 |
docker container unpause | 取消暂停一个或多个容器中的所有进程 |
docker container update | 更新一个或多个容器的配置 |
docker container wait | 阻止直到一个或多个容器停止,然后打印其退出代码 |
上面我列举了容器的指令,再来看一下用法:
$ docker container COMMAND
四、什么是容器图像?
运行容器时,它使用孤立的文件系统。此自定义文件系统由容器映像提供。由于映像包含容器的文件系统,因此它必须包含运行应用程序所需的一切-所有依赖项、配置、脚本、二进制文件等。该映像还包含容器的其他配置,例如环境变量、要运行的默认命令和其他元数据。
后面,我们将深入了解图像,涵盖分层、最佳实践等主题,在这里就不多做赘述,接下来我们来看一下 Docker Image 指令。
Command | Description |
---|---|
docker image build | 从Dockerfile构建映像 |
docker image history | 显示图像的历史 |
docker image import | 从tarball导入内容以创建文件系统映像 |
docker image inspect | 在一张或多张图片上显示详细信息 |
docker image load | 从焦油档案或STDIN加载图像 |
docker image ls | 列出图像 |
docker image prune | 移除未使用的图像 |
docker image pull | 从注册表中提取映像或存储库 |
docker image push | 将映像或存储库推送到注册表 |
docker image rm | 删除一张或多张图片 |
docker image save | 将一个或多个图像保存到焦油存档(默认情况下流式传输到STDOUT) |
docker image tag | 创建一个引用SOURCE_IMAGE的标签TARGET_IMAGE |
图片指令的简单用法:
docker image COMMAND
本文内容比较简单,我就讲解到这里,下一节,我们一起来运行一个Docker 项目
总结
Docker Desktop是一款易于安装的Mac或Windows环境应用程序,使我们能够构建和共享容器化应用程序和微服务。Docker Desktop包括Docker Engine、Docker CLI客户端、Docker Compose、Docker Content Trust、Kubernetes和Credential Helper
。
Docker Desktop可与我们选择的开发工具和语言配合使用,并允许我们访问Docker Hub中庞大的认证图像和模板库。这使开发团队能够扩展其环境,以快速自动构建、持续集成和使用安全存储库进行协作。
其实我在做调研的发型,在国内有些大厂,对于云原生的开发者,薪资待遇非常的丰厚,让我流口水的那种啊