广告
返回顶部
首页 > 资讯 > 服务器 >docker安装nginx容器的方法
  • 460
分享到

docker安装nginx容器的方法

docker安装nginxdocker安装nginx配置 2023-01-04 12:01:29 460人浏览 独家记忆
摘要

目录1、自定义网络相关命令2、Nginx是什么Nginx+Tomcat是目前主流的JAVA WEB架构3、安装nginx4、Docker实战之通过nginx镜像来部署SPA项目5、n

1、自定义网络相关命令

1.创建自定义网络
       docker network create --driver bridge --subnet 192.168.0.1/16 --gateway 192.168.0.1 mynet
       参数说明
       --driver bridge  设置网络模式
       --subnet 192.168.0.1/16  设置子网
       --gateway 192.168.0.1 设置网关
       mynet  自定义网络的名称

2.删除自定义网络mynet(没有容器使用此网络才能删除)
      docker network rm mynet

3.查看docker中已安装的所有网络
       docker network ls 

4.查看自定义网络mynet中的配置信息 
       docker network inspect mynet

5. 启动容器时,指定网络、IP
       docker run --name Centos1 -itd --net mynet --ip 192.168.0.11 centos:latest
       docker run --name centos2 -itd --net mynet --ip 192.168.0.12 centos:latest

注1:有些下载的镜像,执行docker run -d 不加-it参数运行后就直接exited(0),这是制作此镜像的基础镜像的问题,添加-itd即可,
                例如:centos镜像就要加-itd,nginx镜像则不需要-it,-d即可 
注2:在有些镜像启动时,还可以通过-P或-p参数绑定宿主机端口号,例如:nginx镜像,因为容器内部已放开此端口号
注3:停止并删除所有容器
                docker stop $(docker ps -aq) && docker rm $(docker ps -aq)

6.  启动容器后检查网络之间是否可以互通
         docker exec -it centos1 ping centos2

7. network帮助命令
        docker network --help

 8. 如何让docker上2个不同网络的容器互连(重要)
        #1.使用局域名bridge
        docker run --name centos1 -itd centos:latest
        docker network inspect bridge
        #2.使用局域网mynet
        docker run --name centos2 -itd --net mynet --ip 192.168.0.12 centos:latest
        docker network inspect mynet    
        #3.测试centos1和centos2的连接
        docker exec -it centos1 ping centos2
        #连接失败,控制台出现如下提示
        ping: centos2: Name or service not known

        #4.如何解决此问题呢?向网络mynet中添加容器centos1
        docker network connect mynet centos1

        为什么成功了呢?原因:容器centos1具有两个ip
        #查看网络信息
        docker network inspect mynet
        #查看容器详细信息
        docker inspect centos1

2、nginx是什么

Nginx也是一款服务器,我们常用它做如:反向代理、负载均衡、动态与静态资源的分离的工作,

反向代理:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器, 并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

负载均衡:目前大多数的网站都会采用负载均衡手段来针对目前用户的指数级增长来减少对单点服务器的负载压力,比如目前我们拥有3台真实服务器,我们需要根据相应策略决定什么样的用户请求分配到哪个真实服务器,比如按照轮询的方式, 用户请求挨个到达代理服务器,此时代理服务器按照第一个请求转发至第一台真实服务器,第二个请求转发到第二个服务器上,依次类推, 这样可以防止大量的用户请求全部访问到同一台物理机上,单点物理机的性能始终有限的,当然这可能对服务器数据访问时候造成事务性的失效,在WEB方面可能造成Session访问的问题,这不在本文讨论方面内

Nginx+tomcat是目前主流的java web架构

3、安装nginx

1.搜索nginx镜像
      docker search nginx   

2.拉取镜像
      docker pull nginx 

3.在宿主机中创建挂载目录
       mkdir -p /data/nginx/{conf,conf.d,html,log}

注1:因为在nginx镜像中没有安装vi或vim编辑器(安装又太麻烦了),无法编辑nginx配置文件,所以直接通过数据卷挂载上去更加方便
注2:将nginx配置文件nginx.conf上传到宿主机的挂载目录“/data/nginx/conf”下
注3:将Vue前端项目打包后上传到宿主机的挂载目录“/data/nginx/html”下并解压
               unzip dist.zip
注4:nginx配置文件相关调试命令

4.根据nginx镜像创建nginx容器(测试nginx的安装与访问,并没有发布任何的java或vue项目,最后此容器要删除的)

#简单测试nginx镜像
       A.使用docker内置网络bridge
      docker run \
       --name mynginx \
       -d -p 80:80 \
       nginx:latest

#登录nginx容器
      docker exec -it mynginx  /bin/bash
       B.使用自定义网络mynet ???外部浏览器连接不上
       docker run \
       --name mynginx \
       -d -p 80:80 \
       --net mynet --ip 192.168.0.13 \
       nginx:latest

注1:记得修改centos7的防火墙放开80端口
            # 开启80端口
            firewall-cmd --zone=public --add-port=80/tcp --permanent

            #重启防火墙(不重启以上的设置是不会生效的):
            firewall-cmd --reload

            #查询指定端口号是否开启:
            firewall-cmd --query-port=80/tcp

小结:  mynginx使用docker内置网络bridge,再mynginx添加至mynet中

5.查看本地的容器,可以看到nginx容器已经创建成功了
      docker ps 

6.测试nginx是否安装成功
打开浏览器输入:Http://192.168.183.133( http://宿主机ip:80),正常情况下会显示nginx的欢迎页面

4、docker实战之通过nginx镜像来部署SPA项目

nginx+tomcat实现反向代理及均衡
nginx+html静态服务器

1.创建nginx容器
      docker run \
       --name mynginx \
       -d -p 80:80 \
       -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
       -v /data/nginx/log:/var/log/nginx \
       -v /data/nginx/html:/usr/share/nginx/html \
       nginx:latest

注1: 因为在nginx镜像中没有安装vi或vim编辑器(安装太麻烦了),无法编辑nginx配置文件,所以所有数据和配置都是通过数据卷挂载
            第一个-v:挂载nginx的主配置文件,以方便在宿主机上直接修改容器的配置文件
            第二个-v:挂载容器内nginx的日志,容器运行起来之后,可以直接在宿主机的这个目录中查看nginx日志
            第三个-v:挂载静态页面目录
            注意命令之间的换行与空格

       注2:如果容器创建失败,可通过如下命令,查看在docker容器启动日志
            docker logs -f -t --tail 行数 容器名
            docker logs -f -t --tail 100 mynginx

       注3:如果要进入容器内部,这里是bash而非sh,要根据实际的基础镜像来
            docker exec -it mynginx /bin/bash

5、nginx.conf讲解

1.所有配置必须以“;”结尾 

2.nginx发布java项目
    nginx+tomcat实现反向代理及均衡
    upstream  tomcats{
      #TODO:172.17.0.3是docker容器的IP 
      server    172.17.0.3:8080  weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。    
      server    172.17.0.4:8080  weight=2;
    }

    location / {
      proxy_pass http://tomcats;
      proxy_redirect default;
    }    

3.nginx发布静态vue项目

附录一:ip地址后边加个/8(16,24,32)是什么意思?
是子网掩码的位数,由于255相当于二进制的8位11111111,所以也缩写成“/8”,表示网络号占了8位

A类IP地址的默认子网掩码为255.0.0.0(/8)

B类的为255.255.0.0(/16);

C类的为255.255.255.0(/24)

/30就是255.255.255.252

/32就是255.255.255.255
例如:
xx.xx.xx.0/24 ——>表示一个网段,并且24告诉了当前具体的子网掩码

举例说吧,192.168.0.0/24”就表示,这个网段的IP地址从192.168.0.1开始,到192.168.0.254结束
(192.168.0.0和192.168.0.255有特殊含义,不能用作IP地址);子网掩码是255.255.255.0

附录二: nginx.conf配置常用命令
vim /usr/local/nginx/conf/nginx.conf  # 编辑主配置文件

# 测试Nginx配置是否正确命令,先进入主程序的安装目录
cd /usr/local/nginx/conf               
/usr/local/nginx/sbin/nginx -t        # 判断Nginx配置是否正确命令
tail -100f /var/log/nginx/access.log  # 查看Nginx访问日志,必须以nginx.conf配置文件的目录一致

service nginx start                   # 启动
service nginx stop                    # 停止
service nginx restart                 # 重新启动
service nginx reload                  # 重新加载配置,平滑启动
service nginx status                  # 查看nginx状态

ps -ef | grep nginx                   # 查看Nginx安装目录,master process后面的就是nginx的目录
cd /usr/sbin                          # 进入nginx主程序的安装目录
/usr/sbin/nginx -V                    # -v 显示 nginx 的版本,本示例安装版本为:nginx version: nginx/1.14.2 (ubuntu)
/usr/sbin/nginx -V                    # -V 显示 nginx 的版本,编译器版本和配置参数

附录三:hbuilderX打包vue项目白屏问题
将项目目录下的config文件夹里的index.js文件中,将build对象下的assetsPublicPath中的“/”,改为“./”后,再打包生成的 dist 文件

附录四:SpringBoot中如何解决跨域访问
见:资料/CorsConfiguration.java

到此这篇关于docker安装nginx的文章就介绍到这了,更多相关docker安装nginx内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: docker安装nginx容器的方法

本文链接: https://www.lsjlt.com/news/176654.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • docker安装nginx容器的方法
    目录1、自定义网络相关命令2、nginx是什么Nginx+tomcat是目前主流的java web架构3、安装nginx4、docker实战之通过nginx镜像来部署SPA项目5、n...
    99+
    2023-01-04
    docker安装nginx docker安装nginx配置
  • Docker安装Nginx的方法是什么
    这篇文章给大家介绍Docker安装Nginx的方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。方法一、通过 Dockerfile构建创建Dockerfile首先,创建目录nginx,用于存放后面的相关东西。[r...
    99+
    2023-06-06
  • docker安装nginx并配置ssl的方法步骤
    最近想在吃灰了一年多的服务器上,安装一下docker,结果始终找不到合适的yum源,后来经过一番百度才知道,原来centos8要凉了,所以好多镜像站都移除了CentOS 8的源。 没...
    99+
    2022-11-13
  • Docker安装Nginx并修改Nginx配置文件的方法详解
    目录一、Docker安装Nginx二、修改docker的配置文件:三、重新定义nginx配置文件:总结一、Docker安装Nginx 1、首先在虚拟机上要确保你已经启动了docker...
    99+
    2023-02-22
    docker修改nginx配置文件 docker安装nginx详解 docker配置nginx
  • Linux系统安装docker并用ssh登录docker容器的操作方法
    说明:我使用的是Centos安装docker 第一步:安装docker sudo yum install -y yum-utils sudo yum-config-manager --add-repo htt...
    99+
    2022-06-04
    Linux 安装docker ssh docker
  • Docker容器安全管控方法
    这篇文章主要讲解了“Docker容器安全管控方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker容器安全管控方法”吧!一、前言毫无疑问,容器是当前云计算的热门主流技术之一。Dock...
    99+
    2023-06-17
  • docker安装mysql的方法
    这篇文章将为大家详细讲解有关docker安装mysql的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。docker安装mysql的方法:首先查询并下载镜像,代码为【d...
    99+
    2022-10-18
  • Docker安装Oracle_11g的方法
    Docker安装Oracle_11g 1.拉取oracle_11g镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin...
    99+
    2022-11-12
  • CentOS安装Docker的方法
    要求 Docker可以运行在64位CentOS7.X和64位CentOS6.5(含,以上)系统内。 7.X内核版本要求3.10以上 6.5(含,以上)的内核版本要求2.6.32-43...
    99+
    2022-11-13
  • Docker 安装启动Jenkins的方法(docker-compose)
    目录安装:1、装备环境变量文件 (.env)2、准备 docker-compose.yml 文件3、启动Jenkins 官网: https://www.jenkins.io/ 官方安...
    99+
    2022-11-13
  • docker容器内安装TensorRT的问题
    Ubuntu上卸载已安装的版本: sudo apt-get purge "libnvinfer*" 如果想把安装文件都删掉以释放空间,执行: dpkg -l |...
    99+
    2022-11-12
  • Pytorch的安装过程之pip、conda、Docker容器安装
    目录前言一、Pyorch介绍二、Pyorch安装1.pip安装2.conda安装3.Docker容器安装总结前言 PyTorch是一个开源的深度学习框架,基础教学从开始安装学起,一步...
    99+
    2023-05-14
    Pytorch 安装 pip安装 conda安装 Docker容器安装
  • nginx服务器的安装和配置的方法
    这篇文章主要讲解了“nginx服务器的安装和配置的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nginx服务器的安装和配置的方法”吧!nginx服务器的安装和配置 1.安装 1)在wi...
    99+
    2023-06-14
  • 保护Docker容器安全的方法有哪些
    这篇文章主要讲解了“保护Docker容器安全的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“保护Docker容器安全的方法有哪些”吧!应用程序的容器化涉及将应用程序代码及其依赖项(...
    99+
    2023-06-17
  • Docker安装Nginx容器配置及重新生成镜像图文教程
    目录基本思路:1、查看是否存在nginx镜像2、搜索可用的nginx镜像,下载nginx镜像3、创建并启动nginx容器4、进入容器,对相关文件进行配置5、更新镜像6、将由容器生成的...
    99+
    2023-05-20
    docker 安装 nginx docker安装nginx详解 Docker nginx
  • docker安装启动redis的方法
    这篇文章主要介绍docker安装启动redis的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是redis    根据百度百科介绍,Redis(Remote Dictionary Serv...
    99+
    2023-06-15
  • Windows Server2012 R2安装Docker的方法
    本篇内容主要讲解“Windows Server2012 R2安装Docker的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Windows Server2012...
    99+
    2023-06-30
  • Docker安装运行SRS的方法
    这篇文章主要介绍了Docker安装运行SRS的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker安装运行SRS的方法文章都会有所收获,下面我们一起来看看吧。简介SRS 简介SRS定位是运营级的互联网...
    99+
    2023-06-30
  • Linux下安装nginx的实现方法
    Nginx 是 C语言 开发,建议在 linux 上运行,当然,也可以安装 Windows 版本, 安装依赖 yum install gcc yum install pcre-devel yum install zl...
    99+
    2022-06-04
    Linux安装nginx
  • Docker安装Redis容器的实现步骤
    目录Docker 安装Redis 1、寻找Redis镜像2、下载Redis镜像3、创建Redis配置文件4、创建Redis容器并启动5、查看Redis是否运行6、进入Red...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作