首页 > 系统相关 >[Docker] Docker安装Nginx

[Docker] Docker安装Nginx

时间:2023-05-30 13:33:56浏览次数:45  
标签:opt 容器 nginx 宿主机 Nginx conf Docker 安装 docker

0 序言

1 安装步骤

Step1 下载镜像

  • 搜素、下载镜像

https://hub.docker.com/_/nginx?tab=tags
这里选择官方镜像1.22.0版本

docker search nginx
docker pull nginx:1.22.0

  • 查看下载的镜像
docker images

Step2 在宿主机创建挂载目录

用于存放默认页面、日志、配置文件,把这些文件挂载到宿主机上好处是:

在需要频繁修改Nginx配置的场景中,不需要关注容器中的数据,直接删除重建容器就好。
如果已经提前把对应nginx版本需要挂载的文件打包好了,这里直接解压放在对应的路径即可,不需要执行下面从容器复制文件的步骤。

cd /opt
tar -zxvf /opt/docker-nginx.tar.gz

没有这些文件的话,就创建目录,从容器中复制过来。

  • 创建目录
mkdir -p /opt/docker-nginx

Step3 从容器中复制要挂载的文件

先简单创建容器运行,从容器里面复制要挂载的文件到宿主机上。

  • 创建并运行容器,容器命名为nginx
docker run --name nginx -p 80:80 -d nginx:1.22.0
  • 从容器nginx中复制nginx.conf文件到宿主机
docker cp nginx:/etc/nginx/nginx.conf /opt/docker-nginx/
ls -la /opt/docker-nginx/

docker cp nginx:/etc/nginx/conf.d/ /opt/docker-nginx/conf/

docker cp nginx:/usr/share/nginx/html/ /opt/docker-nginx/html/

docker cp nginx:/var/log/nginx/ /opt/docker-nginx/logs/

复制出的docker-nginx目录结构如下图:

  • 打包目录

/opt目录下生成文件docker-nginx.tar.gz

cd /opt
tar -czvf docker-nginx.tar.gz /opt/docker-nginx/*
ls /opt
  • 停止、删除容器
docker stop nginx

docker rm nginx

Step4 创建并运行容器

docker run -p 80:80 \
-v /opt/docker-nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/docker-nginx/logs:/var/log/nginx \
-v /opt/docker-nginx/html:/usr/share/nginx/html \
-v /opt/docker-nginx/conf:/etc/nginx/conf.d \
-v /etc/localtime:/etc/localtime \
--name nginx \
--restart=always \
-d nginx:1.22.0

参数说明:

  • -p 映射端口,格式为“宿主机端口:容器端口”
  • -v 挂载文件
docker run -it -v /test:/soft centos /bin/bash

冒号":"前面的目录是宿主机目录,后面的目录是容器内目录
    容器目录不可以为相对路径
    宿主机目录如果不存在,则会自动生成
  • -e TZ=Asia/Shanghai 设置时区
  • --privileged=true 让容器中的root用户拥有真正的root权限
  • --name 容器名字,以后可以使用这个名字启动或者停止容器
  • --restart=always docker启动时自动启动容器
  • -d 指定要启动的镜像名

如下图,执行后返回容器id没有报Error,查看容器列表,nginx容器状态正常,则安装成功。

Step5 浏览器访问

浏览器访问http://ip:80,可以看到nginx页面

如果安装失败,查看容器列表是否已有nginx容器,有的话需要删除容器后再重新创建。

X 参考文献

标签:opt,容器,nginx,宿主机,Nginx,conf,Docker,安装,docker
From: https://www.cnblogs.com/johnnyzen/p/17439311.html

相关文章

  • Photoshop 2023 Beta 内置Ai绘图功能介绍&安装教程
    距离Adobe软件公司首次将图像编辑及数字绘画软件Photoshop推出到大众面前已经过去35年,最近该公司又再次书写了属于Photoshop的历史新篇章。最近,Adobe宣布Photoshop(Beta)迎来更新,新增「创意填充(GenerativeFill)」功能,生成式AI绘图由AdobeFirefly提供支持,Adobe的创意生成AI模型系......
  • NGINX 加载动态模块
    NGINX1.9.11开始增加加载动态模块支持,从此不再需要替换nginx文件即可增加第三方扩展。目前官方只有几个模块支持动态加载,第三方模块需要升级支持才可编译成模块。#./configure--help|grepdynamic--with-http_xslt_module=dynamicenabledynamicngx_http_xslt_modul......
  • tomcat+https /mysql+ssl /nginx+https
    本文简要介绍CA和证书的基础知识,并演示openssl-1.0.2d的安装,CA证书生成、用户证书申请、使用CA签发用户证书等内容。实验环境操作系统:Windowsopenssl版本:openssl-1.0.2d(官网获取)1基础知识1.1PKI为解决Internet的安全问题,世界各国对其进行了多年的研究,初步形成了一套完整的......
  • Centos7 安装 npm 学习
    #系统环境Centos7#!/bin/bashCentos7一键安装npm地址列表地址列表���地址列表官网node.js站点链接:https://nodejs.org淘宝node.js镜像站点链接:https://npm.taobao.org/mirrors/node安装安装安装������#下载安装npmmkdir/usr/local/nodejs-v12&&\wgethttps://np......
  • centos 7.9安装KVM虚拟化
    一、操作步骤1.1开启CPU虚拟化此处以vmwareworkstation举例,虚拟机关机状态,勾选这两项即可。1.2验证虚拟化是否开启成功有回显说明虚拟化开启成功,这样才支持安装和使用KVM虚拟化。cat/proc/cpuinfo|grepvmxcat/proc/cpuinfo|grepnxcat/proc/cpuinfo|grepsvm......
  • docker - 关闭容器服务
    查看正在允许的容器服务列表dockerps CONTAINERID就是容器服务id关闭指令dockerstop【服务id】 ......
  • 设置浏览器下载apk后默认不安装
    1.浏览器消息处理:修改文档:vendor/mediatek/proprietary/packages/apps/Browser/src/com/android/browser/DownloadHandler.java 2.RULutil过滤信息 修改文档:frameworks/base/core/java/android/webkit/URLUtil.java ......
  • VS Code离线安装方法
    问题描述在VisualStudioCode插件市场下载的.vsix插件安装包在离线环境中双击安装不上。查看日志也没说具体原因:VSIXInstaller.NoApplicableSKUsException:一个或多个扩展适用于VisualStudioCode。请尝试在VisualStudioCode中安装它们。解决方案方案一:VisualStudi......
  • 手摸手带你 在Windows系统中安装Istio
    Istio简介通过负载均衡、服务间的身份验证、监控等方法,Istio可以轻松地创建一个已经部署了服务的网络,而服务的代码只需很少更改甚至无需更改。通过在整个环境中部署一个特殊的sidecar代理为服务添加Istio的支持,而代理会拦截微服务之间的所有网络通信,然后使用其控制平面的功......
  • jmeter安装配置教程
    1、下载Jmeterhttp://jmeter.apache.org/2、配置Java环境安装Jmeter之前需要先配置Java环境。在官网下载JDK,双击下载好的jdk-8u241-windows-x64.exe文件,进行安装,可以修改安装地址 安装完成后,进行环境变量配置:点击我的电脑----属性----高级----环境变量----在系统变量中--......