Docker简介。为自己的服务器开发简单的Docker映像。
俄罗斯版本的任务可以在存储库中找到。

今天的地球,今天的某个地方。
您从不喜欢移动。很多大惊小怪,几乎没有动作。但是,您设法在另一个城市找到了一项出色的工作,将自己沉浸在Devops世界中。而且您不是一个让一些麻烦破坏您的计划的人。
从您的机舱窗户上,您会听到海浪的声音,船和平地摇摆着它们,您还记得您最喜欢的关于海洋的小说 - “ Moby Dick”。尽管该情节远非直接,带有许多抒情的题外话和哲学沉思,但您和其他所有人一样,主要与Moby Dick本人 - 白鲸联系在一起。
“嗯...白鲸...”这是您记住的地方,在长途航行中,您想在码头上工作。
NGINX (发音为“ Engine-X”)是用于HTTP,HTTPS等的开源反向代理服务器。Nginx还用作负载平衡器,Web服务器和HTTP缓存。 NGINX项目着重于高平行性,高性能和低内存使用情况。
NGINX有一个主要过程和几个工作过程。主要过程的主要任务是阅读和检查配置并管理工作过程。工程处理执行请求的实际处理。
NGINX及其模块的工作是在配置文件中定义的。默认情况下,配置文件称为nginx.conf
容器是一个新的“可执行文件”,其中包括产品所需的所有依赖项。
容器化的主要优点是依赖关系和一个简单的软件启动点的隔离。
基本术语:
Docker是一个旨在在容器中开发,部署和运行应用程序的平台。 Docker是该行业中的“事实”标准容器化工具,但它并不是集装技术中的第一个或最后一个。
Docker容器的先驱是虚拟机。像容器一样,虚拟机将应用程序及其依赖关系与外部环境隔离。但是, Docker容器比虚拟机具有优势。例如,它们非常容易移植,消耗较少的资源,启动和运行速度更快。
Docker图像由层组成。每一层都描述了要对运行容器上的数据执行的一些更改。层之间的链接结构是分层的。有一个基础层,其他层被“覆盖”。 Dockerfile用于创建图像。其中的每个指令都会创建一个新层。
Dockle是一种容器图像安全检查工具,可用于查找漏洞。
码头的主要特征和好处:
Docker Compose是处理与项目部署相关的任务的工具。如果使用多种服务来保持项目运行,Docker组合可能会有所帮助。
Docker Compose用于同时管理应用程序一部分的多个容器。该工具提供与Docker相同的功能,但允许使用更复杂的分布式应用程序,例如微服务。
由于工作的结果,您应该提供有关前两个任务的报告。任务的每个部分都描述了报告完成后应添加的内容。这可以是问题,屏幕截图等的答案。
由于第三个任务,您应该提供运行Web服务器的源文件。
由于第四和第五任务,您应该提供Dockerfiles。
由于第六任任务,您应该提供一个docker-compose.yml文件和运行它所需的dockerfiles(如果没有之前提供)。
作为您的小练习的最终目标,您立即选择为自己的Web服务器编写Docker映像,因此首先需要处理服务器现成的Docker映像。您选择了一个非常简单的nginx 。
==任务==
docker pull下载。 docker images 。 docker run -d [image_id|repository]运行Docker Image。 docker ps运行。 docker inspect [container_id|container_name]查看容器信息。 docker stop [container_id|container_name]停止Docker映像。 docker ps停止。 docker restart [container_id|container_name] 。 注意:不要将重型文件(> 10 MB)上传到Git。
Docker Image和Container准备就绪。现在,我们可以研究NGINX配置和显示页面状态。
==任务==
docker cp命令在Docker Image内复制创建的Nginx.conf文件。 docker rmi [image_id|repository]删除图像,而无需先删除容器。 是时候从码头工人休息一下来为最后阶段做准备了。现在该编写自己的服务器了。
==任务==
Hello World! 。 现在一切都准备好了。您可以开始编写创建服务器的Docker映像。
==任务==
编写Docker映像时,请避免多次调用运行指令
Nginx可以安装在Docker本身内,也可以使用Nginx的现成图像作为基础。
docker build构建书面Docker映像,指定名称和标签。 docker images核对所有内容都正确构建。 *如果一切都正确完成,保存文件并重新启动容器后,Docker Image内的配置文件应自行更新,而无需任何额外的步骤
写出图像后,检查安全性绝不是一个坏主意。
==任务==
dockle [image_id|repository]从上一个任务中检查图像。 在那里,您已经完成了热身。虽然等一下...为什么不尝试一次部署由几个Docker图像组成的项目?
==任务==
docker-compose build和docker-compose up命令来构建和运行该项目。 点击此处,将您的反馈留在项目上。产品团队确实试图使您的教育体验更好。