docker镜像仓库实战

docker镜像仓库实战

搭建一个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 服务器的一种实现。

  1. Web服务器

    Nginx 作为 Web 服务器可以向各种浏览器等客户端提供浏览服务,比如我们通过手机、电脑、平板可以访问百度来实现对 web 服务器的访问.
  2. 反向代理

    当我们在外网访问百度的时候,其实会进行一个转发,代理到内网去,这就是所谓的反向代理,即反向代理"代理"的是服务器端,而且这一个过程对于客户端而言是透明的。

查找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 退出的时候自动删除容器
实战:

  1. -d选项介绍
  2. -i选项
  3. -t选项
  4. -P 选项
  5. -p
  6. --name
  7. -h
  8. -e
  9. -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镜像

在上面我们介绍完一些容器运行相关的命令过后,我们接下来,来正式启动一下容器:

  1. 查看本地nginx镜像,并选取其中一个进行启动:

    我们发现本地有许多nginx镜像,我们选取'nginx:1-perl'镜像来启动容器;
  2. 启动容器:

    以交互式、伪终端,容器内80端口映射到宿主机80端口的方式,基于nginx:1-perl镜像,启动/bin/bash命令,注意这时候容器已经运行起来了,并且先运行的我们刚才指定的/bin/bash程序,还没有正式启动nginx服务;
  3. 启动nginx服务
  4. 浏览器访问:
  5. 修改Web服务的页面

    去该目录下修改html文件

    重新启动nginx

    得到的结果与预期一致!
相关推荐
ps酷教程2 小时前
docker&dockerfile&docker-compose操作
docker·容器
Hellc0072 小时前
快速入门:Visual Studio 中的 Docker
docker·eureka·visual studio
漫天转悠5 小时前
Ubuntu22.04在Docker下安装Mysql5.7
运维·mysql·ubuntu·docker·容器
a_lllk7 小时前
使用Docker-Compose安装redis,rabbitmq,nacos,mysql,nginx,tomcat,portainer组件教程
redis·mysql·docker·rabbitmq
盒马盒马7 小时前
Docker:容器编排 Docker Compose
运维·docker·容器
码见愁7 小时前
Minio中出现Non-XML response from server异常
java·docker·minio·异常
颜淡慕潇7 小时前
【K8S系列】Kubernetes 中如何检查Service和Pod的标签是否匹配?
后端·云原生·容器·kubernetes
少陽君7 小时前
k8s Sidecar代理
运维·云原生·容器·kubernetes·k8s
kiss strong8 小时前
idea连接docker并构建镜像
运维·docker·容器