首页 > 系统相关 >【踩坑系列-Docker】基于Alibaba Cloud Linux3基础镜像安装Nginx

【踩坑系列-Docker】基于Alibaba Cloud Linux3基础镜像安装Nginx

时间:2024-07-26 17:28:36浏览次数:18  
标签:aliyuncs Linux3 RUN etc com Alibaba Nginx conf nginx

Author:赵志乾
Date:2024-07-26
Declaration:All Right Reserved!!!

1. 问题描述

        使用Alibaba Cloud Linux3作为基础镜像,在其上安装Nginx,对应的Dockerfile内容如下:

# 指定基础镜像
FROM alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest
# 安装nginx软件包
RUN dnf install -y nginx
# 设置nginx为前台运行模式
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
# 暴漏80和8080端口
EXPOSE 80 8080
# 复制自定义的Nginx配置文件
COPY nginx.conf /etc/nginx/nginx.conf
# 启动nginx
CMD nginx

         打包镜像的时候报如下错误:

2. 问题分析

        由错误信息可知,是yum软件包管理器的仓库配置中开启了gpg签名检查,且域名mirrors.cloud.aliyuncs.com无法解析。故可采取如下两种方式进行解决:

        方式1:关闭gpg签名检查;

        方式2:将域名mirrors.cloud.aliyuncs.com换为mirrors.aliyun.com;

3. 解决方案

        yum软件包管理器的仓库配置所在目录为/etc/yum.repos.d,使用sed进行目录下各文件内容替换,修改后的Dockerfile文件内容如下:

        方式1:关闭gpg签名检查

# 指定基础镜像
FROM alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest
# 关闭gpg签名检查
RUN sed -i 's/gpgcheck=1/gpgcheck=0/' /etc/yum.repos.d/*.repo
# 安装nginx软件包
RUN dnf install -y nginx
# 设置nginx为前台运行模式
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
# 暴漏80和8080端口
EXPOSE 80 8080
# 复制自定义的Nginx配置文件
COPY nginx.conf /etc/nginx/nginx.conf
# 启动nginx
CMD nginx

        方式2: 更改域名

# 指定基础镜像
FROM alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest
# 更换域名
RUN sed -i 's/mirrors.cloud.aliyuncs.com/mirrors.aliyun.com/' /etc/yum.repos.d/*.repo
# 安装nginx软件包
RUN dnf install -y nginx
# 设置nginx为前台运行模式
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
# 暴漏80和8080端口
EXPOSE 80 8080
# 复制自定义的Nginx配置文件
COPY nginx.conf /etc/nginx/nginx.conf
# 启动nginx
CMD nginx

标签:aliyuncs,Linux3,RUN,etc,com,Alibaba,Nginx,conf,nginx
From: https://blog.csdn.net/zhaoyaxuan001/article/details/140708107

相关文章

  • Nginx服务器无法实现伪静态化,在后台设置不成功
    错误提示:Nginx服务器无法实现伪静态化,在后台设置不成功解决方案:这主要是nginx的rewrite没有设置导致的在nginx.conf里找到网站的server配置段,一般我们推荐如下的配置     server {        listen          80;        server_name   ......
  • Nginx review
    Nginx的组成nginx二进制可执行文件:由各模块源码编译出的一个文件nginx,conf配置文件:控制nginx的行为access.log访问日志:记录每一条http请求信息error.log 错误日志:定位问题Nginx版本发布情况选择哪个版本Nginx编译适合自己的Nginx下载nginx nginx......
  • 用他 nginx 访我 nginx 之计(跨 nginx 访问方案)
    需求:生产环境上,我们这边网络权限他们开不了,想从被人系统的ng跳转到我们ng,这个需要怎么做?总之就是人家ng有外网权限,通过人家ng访问我们ng,然后我们用人家域名。答:如果想要通过别人项目的Nginx(简称“外网Nginx”)来访问自己环境的Nginx(简称“内部Nginx”),并且你还希望使用别人的域名,......
  • 前后端都用得上的 Nginx 日常使用经验
    前言nginx是一个高性能的开源反向代理服务器和web服务器,一般用来搭建静态资源服务器、负载均衡器、反向代理,本文将分享其在Windows/docker中的使用,使用nssm部署成服务的方案脚本,局域网中自定义域名解决https提示不安全的解决方案,以及一路踩过的坑。特点高性能:......
  • Docker Nginx
    #1.拉取nginxsudodockerpullnginx#2.创建目录sudomkdir-p/home/docker/nginx/conf/home/docker/nginx/html/home/docker/nginx/log#3.生成容器,将其文件复制到物理机dockerrun--namenginx-p9001:80-dnginx#将容器nginx.conf文件复制到宿主机sudod......
  • nginx灰度发布、网站限速和防盗链
    一、灰度发布(金丝雀发布)灰度发布时使用比较平稳的过渡方式升级或者替换产品项目的方法统称主要作用及时发现项目问题尽早获取用户反馈的信息,以改进产品如果项目产生问题,可以将问题影响控制到最小范围【1】、基于不同IP进行灰度发布proxy代理web01开启80端口开启8......
  • 快速上手Spring Cloud Alibaba AI
    文章目录什么是SpringCloudAlibabaAI动手体验SpringCloudAlibabaAI1.**创建maven项目**导入以下依赖2.在Resource包中创建application.yml文件,并配置api-key3.创建Controller和service开始使用封装工具类什么是SpringCloudAlibabaAI原始的SpringAI并......
  • Nginx秘籍!!!
    nginx笔记Yum安装nginx得先去配置nginx的Yum源,去到官网找,然后直接yum-yinstall下载[nginx-stable]name=nginxstablerepobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=https://nginx.org/keys/nginx_signing.key​......
  • Centos离线安装 Nginx
    一、需求提出    公司刚刚申请了两台服务器,需要部署Nginx环境二、环境情况    系统是Centos的,需要离线安装。Linux中的环境很纯净C++环境也没有......#查看自己的版本cat/etc/os-release三、进行安装    1、准备需要安装的Nginx需要......
  • Nginx安全限流配置
    一、限制请求处理速率ngx_http_limit_req_module(NGXHTTP限制请求模块)方法:要配置Nginx以限制请求处理速率,你可以使用limit_req指令。这个指令允许你基于定义的区域(zone)和速率限制请求的频率。操作步骤:①定义限速区域:在http块中,使用limit_req_zone指令来定义限速区域。这个......