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

    得到的结果与预期一致!
相关推荐
运维栈记3 小时前
如何排错运行在Kubernetes集群中的服务?
云原生·容器·kubernetes
Linux编程用C3 小时前
Docker+Vscode搭建(本地/远程)开发环境
vscode·后端·docker
林疏safe6 小时前
灯塔部署云服务器docker 部署方式,以及忘记密码如何查找
运维·服务器·docker
木卫二号Coding6 小时前
affine+docker+postgresql+备份数据库
数据库·docker·容器
檀越剑指大厂6 小时前
查看 Docker 镜像详情的几种常用方法
docker·容器·eureka
java_logo6 小时前
Webtop Docker 容器化部署指南:基于浏览器的Linux桌面环境
linux·docker·容器·webtop·webtop部署教程·docker部署webtop·linux桌面
源去_云走8 小时前
自建 Iconfy API 服务:解决国内访问不稳定问题
前端·容器·npm·node.js
技术小李...8 小时前
docker下mysql更改密码后WordPress提示无法连接数据库问题
运维·docker·容器
JPX-NO10 小时前
windows下编程IDE使用docker搭建的rust开发环境(Linux)
ide·windows·docker·rust
快乐就去敲代码@!10 小时前
Boot Cache Star ⭐(高性能两级缓存系统)
spring boot·redis·后端·缓存·docker·压力测试