Docker安装,Nginx搭建

这篇具有很好参考价值的文章主要介绍了Docker安装,Nginx搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、安装Docker

1、安装:

2、启动/停止/重启docker服务

1.创建容器时设置

2.修改已有容器,使用update

3、查看docker版本信息

4、查看所有docker镜像

二、安装Nginx

1、拉取Nginx镜像文件

2、查看下载好的镜像文件  

3、创建并运行Nginx容器

4、查看正在运行的容器

5、查看Nginx是否部署成功

1、进入Nginx容器当中

2、在容器中查询出nginx的相关配置文件存放位置

3、退出容器,回到本地linux系统

4、停止并移除Nginx容器

5、本地创建管理目录

6、将容器中的相应文件copy到刚创建的管理目录中

7、再次启动容器并作目录挂载


一、安装Docker

1、安装:

yum install docker 

2、启动/停止/重启docker服务

systemctl docker start 
systemctl docker stop 
systemctl docker restart
#开机自启动 
systemctl enable docker
 
#设置容器自启动


1.创建容器时设置


docker run -d --restart=always --name 设置容器名 使用的镜像
(上面命令  --name后面两个参数根据实际情况自行修改)
 
# Docker 容器的重启策略如下:
 --restart具体参数值详细信息:
       no        // 默认策略,容器退出时不重启容器;
       on-failure    // 在容器非正常退出时(退出状态非0)才重新启动容器;
       on-failure:3    // 在容器非正常退出时重启容器,最多重启3次;
       always      // 无论退出状态是如何,都重启容器;
       unless-stopped  // 在容器退出时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了的容器。
 


2.修改已有容器,使用update


#如果创建时未指定 --restart=always,可通过update 命令设置
docker update --restart=always 容器ID(或者容器名)
(容器ID或者容器名根据实际情况修改)

3、查看docker版本信息

docker version

4、查看所有docker镜像

docker images

二、安装Nginx

1、拉取Nginx镜像文件

docker pull [镜像名]:[版本号]  //版本号可省略,省略会下载最新版本
例如:
docker pull nginx //下载最新的Nginx镜像

2、查看下载好的镜像文件  

docker images

3、创建并运行Nginx容器

docker run -d --name nginx01 -p 8050:80 nginx
命令详解:
# docker run 启动一个镜像
# -d 表示后台允许
# --name nginx01  表示为当前容器起一个别名
# -p 8050:80 表示将本机的8050端口映射到nginx镜像的80端口

4、查看正在运行的容器

docker ps

5、查看Nginx是否部署成功

curl localhost:8050

docker安装nginx,docker,nginx,eureka

 

1、进入Nginx容器当中

docker exec -it nginx /bin/bash
命令详解:
# docker exec 在运行的容器中执行命令
# -i 以交互模式运行容器,通常与 -t 同时使用;例如-it
# -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;例如-it
# nginx 容器名
# /bin/bash 其实就是表示载入容器后运行bash(命令语言解释程序), 因为docker中必须要保持一个进程(运行的程序)的运行,要不然整个容器就会退出,所以说,bash就担任起了docker中运行的那个进程的角色!
#而/bin/bash则是bash在linux下的位置


2、在容器中查询出nginx的相关配置文件存放位置

whereis nginx

docker安装nginx,docker,nginx,eureka

 

3、退出容器,回到本地linux系统

exit

4、停止并移除Nginx容器

docker stop ff6fc #停止容器,容器id可不用写全,只要写到能识别到唯一一条就可以
docker rm ff6fc #移除容器
# bedfd2a72585表示容器的ID,即:CONTAINER ID

5、本地创建管理目录

mkdir -p /usr/local/nginx
mkdir -p /usr/local/nginx/html 
mkdir -p /usr/local/nginx/conf
mkdir -p /usr/local/nginx/logs

6、将容器中的相应文件copy到刚创建的管理目录中

docker cp ff6fc:/etc/nginx/nginx.conf /usr/local/nginx/
docker cp ff6fc:/etc/nginx/conf.d /usr/local/nginx/conf/
docker cp ff6fc:/usr/share/nginx/html/ /usr/local/nginx/html/
docker cp ff6fc:/var/log/nginx/ /usr/local/nginx/logs/
注:docker cp ff6fc中的 "ff6fc" 为容器ID(docker ps可查看),也可换成容器名,例如上面容器名是nginx,可写成 docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/  ,但是要区分唯一性

7、再次启动容器并作目录挂载

docker run --name nginx -p 8050:80 -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/www/:/usr/share/nginx/html/ -v /usr/local/nginx/logs/:/var/log/nginx/ -v /usr/local/nginx/conf/:/etc/nginx/conf.d --privileged=true -d nginx
docker run --name nginx -p 8050:80 -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/www/:/usr/share/nginx/html/ -v /usr/local/nginx/logs/:/var/log/nginx/ -v /usr/local/nginx/conf/:/etc/nginx/conf.d --privileged=true -d nginx
这里挂载的路径和端口要明白,不然配置conf文件会乱
就是
端口:宿主机8050端口映射docker里nginx容器的80端口,所以我们访问宿主机ip+8050端口,就会映射到docker里nginx容器里的80端口,所以nginx配置文件listen是监听80端口,这个千万不要搞错了
页面:打包的页面文件夹是build,宿主机页面路径/usr/local/nginx/www/,映射的是docker里nginx容器的/usr/share/nginx/html/路径,所以nginx配置文件
里的location的/usr/share/nginx/html这个路径不用调整,只需在后面加上部署的前端页面路径,下面就是加上了build,然后前端打包的页面build文件夹放在宿主机的/usr/local/nginx/www/就可以了
location / {
        root   /usr/share/nginx/html/build;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }
 
所以流程是这样,我们输入网址宿主机+8050端口会映射到nginx配置文件80端口,然后nginx80端口是监听的,于是就会走到“localtion / ”这个位置,然后会定位到/usr/share/nginx/html/build这个路径,又因为/usr/share/nginx/html/相当于宿主机/usr/local/nginx/www/,所以最终会去宿主机/usr/local/nginx/www/build找到页面,所以我们的页面文件夹build需要放在/usr/local/nginx/www/这里
 后端服务:因为现在nginx是部署在docker容器里,后台服务部署在宿主机里,基于docker和宿主机通信是通过搭建新的网关桥docker0网桥,我们可以通过docker inspect nginx(容器名或容器id)看到nginx的ip是172.17.0.4

docker安装nginx,docker,nginx,eureka

 

 查看宿主机在docker0网桥下的所属ip是172.17.0.1

docker安装nginx,docker,nginx,eureka

 

 基于docker和宿主机通信是通过搭建新的网关桥docker0网桥

需要注意的一点就是,即使ping通了,docker里nginx的容器最好进行telnet测试一下能否连通宿主机的后端端口


若不通,就要看看宿主机是否防火墙是否开放这个端口

所以nginx配置后端服务需要这样配置,需要代理到172.17.0.1的后台服务所部署的宿主机在docker0网桥下的ip

location /prod-api/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://172.17.0.1:8081/;
        }
最后附上nginx配置文件

worker_processes  1;
 
events {
    worker_connections  1024;
}
 
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
 
    server {
        listen       80;
        server_name  localhost;
        charset utf-8;
 
        location / {
            root   /usr/share/nginx/html/build;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
 
        
        location /prod-api/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://172.17.0.1:8081/;
        }
 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
 文章来源地址https://www.toymoban.com/news/detail-742765.html

到了这里,关于Docker安装,Nginx搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker desktop搭建 nginx

    拉取 nginx 镜像 运行容器 本地磁盘创建 nginx 目录 复制 docker 中的 nginx 配置文件 查看运行的容器 docker ps -a 停止刚启动的 nginx 容器 启动一个新的 nginx 容器,并将容器中的配置目录挂载到本地磁盘的目录中 本地浏览器访问 127.0.0.1:8081

    2024年02月13日
    浏览(32)
  • 【docker桌面版】windows使用docker搭建nginx

    1.拉取nginx镜像 docker pull nginx 2.运行容器 docker run -d -p 80:8081 --name nginx nginx 3.本地磁盘创建nginx目录 D:Dockerprojectnginx 4.复制docker中的nginx配置文件 查看运行的容器docker ps -a docker cp 8f18d58bc77b:/etc/nginx/nginx.conf D:Dockerprojectnginxconf 5.停止刚启动的nginx容器 docker stop 8f18d58bc77b doc

    2024年02月13日
    浏览(40)
  • docker搭建nginx+php环境

    一、docker拉取nginx和php镜像 命令如下: 1、创建本地挂载路径: 2、创建php容器 3、创建nginx本地挂在路径: 4、nginx配置文件如下: 5、创建nginx容器: PS: 6、创建文件测试: 效果如下: 参考文章:nginx调用php原理

    2024年02月13日
    浏览(44)
  • Nginx环境搭建以及Docker环境部署

    目录 Nginx环境搭建 1.首先创建Nginx的目录并进入 2.下载Nginx的安装包         可以通过FTP工具上传离线环境包,也可通过wget命令在线获取安装包         没有wget命令的可通过yum命令安装  3.解压Nginx的压缩包 4.下载并安装Nginx所需的依赖库和包         安装方式一    

    2024年02月13日
    浏览(46)
  • nginx 搭建docker 似有hub仓库

    当使用 SSL/TLS 证书并希望通过 HTTPS 访问 Docker Registry 时,通常会使用 Nginx 作为反向代理。这样做可以为 Docker Registry 提供 HTTPS 支持,同时还可以利用 Nginx 的其他功能,如负载均衡和缓存。下面是使用 Nginx 作为反向代理设置私有 Docker Registry 的步骤: 1. 安装 Docker 如果您的服

    2024年01月22日
    浏览(37)
  • 使用docker 搭建nginx + tomcat 集群

    创建3个Tomcat容器,端口分别映射到 8080,8081,8082,使用数据卷挂载,分别将宿主机目录下的 /opt/module/docker/tomcat3/ROOT1/,/opt/module/docker/tomcat3/ROOT2/,/opt/module/docker/tomcat3/ROOT2/ 挂载到 容器内部的tomcat目录下的webapps目录。实现挂载的好处如下: 数据共享: 同一份数据可以被挂载到

    2024年02月13日
    浏览(38)
  • 【docker】docker安装nginx

    选择nginx版本: docker search nginx 使用最新版本 docker pull nginx 查看镜像 docker images 运行nginx容器 docker run --name nginx-withoutOther -p 8080:80 -d nginx:latest 进入容器 docker exec -itd nginx-withoutOther /bin/bash 储备知识: 在宿主机创建 需要映射的nginx目录 例如 /root/data/nginx-demo 执行结果: 这个时

    2024年02月05日
    浏览(32)
  • 使用docker搭建Nginx Proxy Manager

    要使用Docker和Docker Compose搭建Nginx Proxy Manager,您需要遵循以下步骤。首先请确保您的系统中安装有Docker和Docker Compose。 创建docker-compose.yml文件: 创建一个docker-compose.yml文件,该文件将定义用于运行Nginx Proxy Manager的所有服务及其配置。 参数解释: image: 使用的Docker镜像。 restart

    2024年03月22日
    浏览(45)
  • Docker 安装Nginx与配置Nginx

    在传统的Web项目中,并发量小,用户使用的少。所以在低并发的情况下,用户可以直接访问tomcat服务器,然后tomcat服务器返回消息给用户。 而在互联网项目下,因单个tomcat默认并发量有限制。如果请求量过大,会产生如下问题: 是互联网分布式系统架构设计中必须考虑的因

    2024年01月24日
    浏览(35)
  • 基于Docker MinIO整合Nginx搭建反向代理

    docker拉去镜像安装和配置就不说了 主要说一下配置反向代理 第一次使用minio我陷入了一个误区,将nginx的data目录挂载到了minio的文件目录,这样是可以通过nginx访问minio文件,但是没有任何意义,也没有做任何的代理设置,研究了很久最后把nginx容器停了重新run一个,然后配置

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包