关于前端:02-入门-Nginx-服务-Docker-概念合集

34次阅读

共计 3134 个字符,预计需要花费 8 分钟才能阅读完成。

  • 本篇文档对应的代码:https://github.com/LiangJunro…
  • Docker 系列文档:https://github.com/LiangJunro…

通过前文的操作,装置结束后,咱们就开始折腾吧:

  • 在 Docker 上部署一个 Nginx 服务,下面放一个简略的 index.html 页面
  • 解释 Docker 中 Dockerfile、镜像、容器等概念,并提前布局批改镜像源

那么,Here we go~

一、指令操作

首先,咱们新建个 demo-01 的文件夹,之后控制台输出:

  • 跳转到该文件夹:cd demo-01

并在外面寄存 2 个文件:

Dockerfile

# 本镜像拷贝自 Nginx 镜像
FROM nginx

# 将当前目录下的 index.html 挪到 Nginx 的 html 目录中
COPY ./index.html /usr/share/nginx/html/index.html

# 对外裸露本镜像的 80 端口
EXPOSE 80

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Hello Docker</title>
  <style>
    /* 设置页面居中显示 Hello Docker! */
    body {
      margin: 0 auto;
      width: 1000px;
    }
    h1 {text-align: center;}
  </style>
</head>
<body>
  <h1>Hello Docker!</h1>
</body>
</html>

而后,咱们编写指令创立镜像(Image):

  • docker image build ./ -t docker-nginx:1.0.0

接着,咱们创立容器(Container):

  • docker container create -p 2222:80 docker-nginx:1.0.0

此时控制台返回一串字符,即 创立容器失去的后果

最初,咱们运行这个容器(Container):

  • docker container start 312b8278e11373cb3211faeab53b7f0b47e996b5e84fc58

这时候,如果你关上界面:http://127.0.0.1:2222/

你就会看到:

祝贺你!动手 Docker 啦~

有局域网或者 WIFI 的小伙伴,能够批改 ip 地址(http://ip 地址:2222/)看看,失常状况下是能够拜访胜利的。

二、小结

那么,通过这一系列操作,开启了 Nginx 服务,那么这外面的一些内容:Dockerfile、镜像以及容器等是什么东东呢?

所以,咱们有几个概念须要了解:

  • Dockerfile 是什么?
  • 镜像(Image)是什么?
  • 容器(Container)是什么?

上面咱们会一一解说,并且列举下像 jsliang 这样的老手,入门时候都应该懂哪些指令。

三、Dockerfile 是什么?

Dockerfile 是一个用来构建镜像的文本文件,文本内容蕴含了一条条构建镜像所需的指令和阐明。

Docker 通过读取 Dockerfile 中的指令主动生成镜像。

Dockerfile 能够应用在命令行中调用任何命令。

Dockerfile 个别分为四局部:根底镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。

简略来说:你能够通过 Dockerfile,通知 Docker 编译的时候须要留神什么状况,就好比你通过 package.json,通知 npm 我须要装置的包都有哪些一样。

参考文献:华为云 – 什么是 Dockerfile

四、镜像(Image)是什么?

镜像是一个文件系统,提供了容器运行时须要用到的文件和参数配置。

相当于平时在应用某个软件时须要下载的安装包,也相当于装置操作系统时须要用到的 ISO 文件。

简略来说:你能够把镜像(Image)看成是一张 Windows 11 的零碎光盘,而后哪部电脑须要装置新零碎,就基于这张光盘装置就能够了。

在 Docker Hub 下面有许许多多的镜像,感兴趣的小伙伴能够返回查看和下载:https://hub.docker.com/

值得一提的是:

  • 国内官网源下载速度会比较慢,所以跟 npm 一样切换个国内源地址是不错的抉择,例如 中国科学技术大学(中科大)、阿里云、网易、Docker 官网中国区等
镜像仓库名称 链接
Docker 官网中国区 https://registry.docker-cn.com
网易 163 http://hub-mirror.c.163.com
中国科学技术大学 https://docker.mirrors.ustc.e…
阿里云 https://< 你的 ID>.mirror.aliyuncs.com

Mac 批改形式

  1. 批改 Docker 镜像仓库配置:sudo vim /etc/docker/daemon.json
  2. 批改配置文件:

daemon.json

{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
}
  1. 使配置文件失效:sudo systemctl daemon-reload
  2. 重启 Docker:sudo service docker restart

Windows 批改形式

批改结束后,通过指令 docker info 查看:

当然,须要留神的是:切换源重启后,会导致以后的容器暂停掉,重启回来就行了。

参考文献:知乎 – 测试的能量 – Docker 入门:镜像 image

五、容器(Container)是什么?

容器(Container),就是一种轻量级的虚拟化技术,目标和虚拟机一样,都是为了发明“隔离环境”。

镜像(Image)和容器(Container)的关系,就像是面向程序设计中的 实例 一样,镜像是动态的定义,容器是镜像运行时的实体。

联合咱们后面的小实例,咱们会看到:

  • 创立镜像(Image):docker image build ./ -t hello-docker:1.0.0
  • 创立容器(Container):docker container create -p 2222:80 hello-docker:1.0.0

在这里,咱们创立容器的时候,其中 hello-docker:1.0.0 就是镜像的 REPOSITORY 和 TAG,咱们基于这个镜像,创立了一个容器,并指定了它的端口。

同时,在说到端口的时候,咱们讲到了 宿主机,宿主机即绝对于容器来说的主机,即 jsliang 的手提笔记本的 Windows 10 零碎。

敲重点!前面会有 宿主机 的呈现,别漏知识点啦!

六、小结

理解完这些知识点后,咱们是时候再操作操作,回顾下内容了!

所以下篇,咱们会解说;04 – 入门 & Node 服务

敬请期待!


不折腾的前端,和咸鱼有什么区别!

感觉文章不错的小伙伴欢送点赞 / 点 Star。

如果小伙伴须要分割 jsliang

  • Github

集体联系方式寄存在 Github 首页,欢送一起折腾~

争取打造本人成为一个充斥摸索欲,喜爱折腾,乐于扩大本人知识面的一生学习横杠程序员。

jsliang 的文档库由 梁峻荣 采纳 常识共享 署名 - 非商业性应用 - 雷同形式共享 4.0 国内 许可协定 进行许可。<br/> 基于 https://github.com/LiangJunrong/document-library 上的作品创作。<br/> 本许可协定受权之外的应用权限能够从 https://creativecommons.org/licenses/by-nc-sa/2.5/cn/ 处取得。

正文完
 0