Docker中Nginx的安装与实践

简介: Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务,我们在学习的时候可以利用 Docker 来省去复杂的环境搭建流程,比如做负载均衡、反向代理等实验。


一、Nginx 镜像下载



1. 查找 Nginx 镜像


登录 Docker Hub 官网搜索 Nginx 镜像,或者直接访问 https://hub.docker.com/_/nginx

微信图片1.png

也可以在终端使用 docker search nginx 来搜索 Nginx 镜像,OFFICAL 列为 OK 的为官方镜像。微信图片2.png


2. 下载 Nginx 镜像



从 Docker Hub 拉取镜像,命令如下:

$ docker pull nginx

使用 docker pull nginx: 来指定下载镜像的 tag,不指定默认为 latest。下载完成后使用 docker images 来查看本地已经下载好的镜像。

$ docker images
REPOSITORY    TAG    IMAGE ID    CREATED    SIZE
nginx       latest   08393e824c32   3 weeks ago  132MB


二、Nginx 容器运行



安装完成后,可以使用 docker run 命令来运行 Nginx 容器。


1. 配置端口映射


$ docker run --name nginx -p 8080:80 -d nginx
8c3026a0acd14f53e702a9854b2ffe4aa2668a552e11e171b3ae667cbe691d31


  • --name:指定容器名称,方便对容器的操作
  • -p ::指定端口映射,将容器的端口映射到主机的端口
  • -d:指定容器在后台运行,以守护进程的形式运行
  • 8c3026a...:容器ID,对容器进行操作时用于指定容器

运行成功后可以使用下面命令查看运行中的 Nginx 容器:

$ docker ps # 或 docker container ls
CONTAINER ID    IMAGE    COMMAND            CREATED    STATUS    PORTS        NAMES
8c3026a0acd1    nginx    "/docker-entrypoint.…"    5 minutes ago Up 5 minutes 0.0.0.0:8080->80/tcp nginx

打开浏览器访问 localhost:8080,结果如下:


微信图片3.png


2. 配置目录绑定


基于前面运行的容器,首先将容器中已经存在的配置等文件复制出来:

# 将容器中的Nginx配置文件目录复制到主机
$ sudo docker cp nginx:/etc/nginx ~/docker
# 将容器中的Nginx代理的静态页面目录复现到主机
$ sudo docker cp nginx:/usr/share/nginx/html ~/docker


命令格式:docker cp container:source_dir host_dir

然后停止并移除刚才启动的容器:

# 停止Nginx容器
$ docker container stop nginx
# 移除Nginx容器
$ docker container rm nginx

使用下面命令重新运行Nginx容器:

$ docker run --name nginx -p 8080:80 -v ~/docker/nginx:/etc/nginx -v ~/docker/html:/usr/share/nginx/html -d nginx
bc2b1d19570acb245011e607c1baee0706fa52f35c94cf3dc26dcfca1bc59abd

-v ::指定目录绑定,将主机的目录绑定到容器的目录上,实现文件目录共享

再次打开浏览器访问 localhost:8080,可以访问到 Nginx 的欢迎页面。在主机中修改 Nginx 代理的页面文件 index.html,保存后在浏览器中刷新页面:

微信图片4.png

我们发现,将主机上的目录绑定到容器中,不仅可以实现容器中文件的持久化,也更加方便的对容器中的文件进行修改,因为只需要在主机上修改。

目录
相关文章
|
2月前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
115 2
|
5天前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
131 78
|
19天前
|
NoSQL 关系型数据库 应用服务中间件
docker基础篇:安装tomcat
docker基础篇:安装tomcat
152 64
|
8天前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
50 14
|
5天前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
33 7
|
20天前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
93 24
|
21天前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
85 24
|
20天前
|
Ubuntu Linux Docker
Ubuntu22.04上Docker的安装
通过以上详细的安装步骤和命令,您可以在Ubuntu 22.04系统上顺利安装
298 11
|
2月前
|
缓存 Linux Docker
【最新版正确姿势】Docker安装教程(简单几步即可完成)
之前的老版本Docker安装教程已经发生了变化,本文分享了Docker最新版安装教程,其他操作系统版本也可以参考官 方的其他安装版本文档。
2092 3
【最新版正确姿势】Docker安装教程(简单几步即可完成)
|
2月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
1316 12
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库

热门文章

最新文章