docker镜像仓库实战
docker镜像仓库实战
- 搭建一个nginx服务
- 基础知识(Web服务器)
- 查找nginx镜像
- 拉取镜像
- 启动nginx镜像
搭建一个nginx服务
基础知识(Web服务器)
Web 服务器,一般是指“网站服务器”,是指驻留于互联网上某种类型计算机的程序。Web 服务器可以向 Web 浏览器等客户端提供文档,也可以放置网站文件,让全世界浏览,更可以放置数据文件,让全世界下载。
Web 服务器,也称为“WWW 服务器”( 英文全写:World Wide Web,翻译成中文:万维网或环球信息网 ),主要功能是“提供网上信息浏览服务”。 WWW 是 Internet(互联网)的多媒体信息查询工具,是 Internet(互联网)上发展起来的服务,也是发展最快和目前使用最广泛的服务。正是因为有了 WWW 工具,才使得近十几年来互联网迅速繁荣发展,用户数量飞速飙升。据最新数据显示,目前全球人口数量达到 76.76 亿人,其中全球“网民”(互联网用户)达到惊人的 43.88 亿。
例如百度就是一个 web 服务器,提供搜索服务
nginx
Nginx 是一款自由的、开源的、高性能的 HTTP 服务器和反向代理服务器;同时也是一个 IMAP、POP3、SMTP 代理服务器;Nginx 可以作为一个 HTTP 服务器进行网站的发布处理,另外 Nginx 可以作为反向代理进行负载均衡的实现。可以理解 Nginx 是 web 服务器的一种实现。
- Web服务器
Nginx 作为 Web 服务器可以向各种浏览器等客户端提供浏览服务,比如我们通过手机、电脑、平板可以访问百度来实现对 web 服务器的访问.- 反向代理
当我们在外网访问百度的时候,其实会进行一个转发,代理到内网去,这就是所谓的反向代理,即反向代理“代理”的是服务器端,而且这一个过程对于客户端而言是透明的。
查找nginx镜像
我们可以直接通过docker search命令来搜索相关的nginx镜像,当然我们也可以通过dockerHub官网来进行查询:
在这个官网上,我们可以根据自己的需求来pull一些合适的nginx镜像;
拉取镜像
这里我们直接拉取多个nginx镜像:
在正式启动nginx镜像之前,我们需要介绍一下几个容器相关的命令;
docker run
语法:docker container run [options] image [command] [args]
别名:docker run
功能:基于某个镜像启动并运行一个容器,如果指定了command那么容器在启动的时候会执行指定的command命令,不会执行默认的command命令;
参数:
-d: 在后台运行一个容器,并返回容器的ID,默认是在前台运行容器;
-i:以交互模式来运行容器,抱着容器的stdin打开;
-t: 给容器分配一个伪终端,通常配合-i使用;
-P: 随机端口映射,容器内部端口随机映射到主机端口;
-p: 指定端口映射,格式为: 主机端口:容器端口;
–name=‘xxxx’: 为容器指定一个名称,后续可以通过这个名称来管理容器:
-h ‘name’: 指定容器的hostname
-e envName=‘xxx’: 给容器内设置环境变量
–cpuset-cpus=‘0-2’ or --cpuset-cpus=‘0,1,2’: 绑定容器到指定cpu运行;
-m: 设置容器能够使用的最大内存;
–network=“bridge”: 指定容器的网络连接类型
–link=[]: 添加链接到另一个容器;
–volume , -v: 绑定一个卷
–rm :shell 退出的时候自动删除容器
实战:
- -d选项介绍
- -i选项
- -t选项
- -P 选项
- -p
- –name
- -h
- -e
- -m
docker ps
语法: docker container ls [options]
别名:docker container list / docker container ps / docker ps
功能:列出容器信息;
参数:
-a: 列出所有容器的信息,包括停止运行的容器
实战:
docker rm
语法:docker container rm [options] container [container…]
别名:docker container remove / docker rm
功能:删除1个或多个容器;
参数:
-f:强制删除,包括正在运行的容器;
实战:
docker stats
语法: docker container stats [OPTIONS] [CONTAINER…]
别名:docker stats
功能:监控一个或多个容器的资源使用情况
参数:
-a:显示所有容器(包括停止的容器,没加该选项之前,默认显示正在运行的容器)
实战:
启动nginx镜像
在上面我们介绍完一些容器运行相关的命令过后,我们接下来,来正式启动一下容器:
- 查看本地nginx镜像,并选取其中一个进行启动:
我们发现本地有许多nginx镜像,我们选取’nginx:1-perl’镜像来启动容器;- 启动容器:
以交互式、伪终端,容器内80端口映射到宿主机80端口的方式,基于nginx:1-perl镜像,启动/bin/bash命令,注意这时候容器已经运行起来了,并且先运行的我们刚才指定的/bin/bash程序,还没有正式启动nginx服务;- 启动nginx服务
- 浏览器访问:
- 修改Web服务的页面
去该目录下修改html文件
重新启动nginx
得到的结果与预期一致!