首页 > 系统相关 >Docker 构建nginx镜像

Docker 构建nginx镜像

时间:2024-07-05 12:09:18浏览次数:13  
标签:RUN CentOS repos nginx yum install 镜像 Docker

  步骤:

(1)创建一个目录,把构建Nginx的Dockerfile文件保存到此目录。

创建一个名为nginxDockerfile的目录。

mkdir nginxDockerfile

(2)进入刚才创建好的目录。

cd nginxDockerfile

(3)创建Dockerfile文件。

vim dockerfile

  文件内容如下

FROM centos
MAINTAINER xpx
RUN yum install wget -y
RUN yum install nginx -y
COPY index.html /usr/share/nginx/html/
EXPOSE 80
ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"]

直接执行上面的可能会报错

分析:根据上面的报错显示是镜像源地址访问不到,然后更改/etc/yum.repos.d/CentOS-Base.repo 文件加入AppStream为阿里云的镜像地址还是不行,依然报错

接着直接在dockerfile文件中更改上面报错的http://mirrorlist.centos.org地址将其替换为阿里云的mirrors.aliyun.com

FROM centos:7  # 本地环境是CentOS 7.9所以这里更换为7
MAINTAINER xpx
RUN sed -i 's|mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-*.repo \
    && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-*.repo \
    && yum clean all \
    && yum makecache  #根据报错替换地址并且更新yum缓存
RUN yum install wget -y
RUN yum install nginx -y
COPY index.html /usr/share/nginx/html/
EXPOSE 80
ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"]

更改完后继续执行docker build -t="xpx/nginx:v1" . 构建

这时报下载nginx的错误

搜索问题说是缺少EPEL 仓库的问题,但是查看yum.repos.d目录下发现是有改仓库文件的

可见dockerfile 执行yum install nginx时没有用到/etc/yum.repos.d下的仓库文件。

这时添加RUN yum install -y epel-release命令

FROM centos:7
MAINTAINER xpx
RUN sed -i 's|mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-*.repo \
    && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-*.repo \
    && yum clean all \
    && yum makecache
RUN yum install -y epel-release
RUN yum install wget -y
RUN yum install nginx -y
COPY index.html /usr/share/nginx/html/
EXPOSE 80
ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"]

 

标签:RUN,CentOS,repos,nginx,yum,install,镜像,Docker
From: https://www.cnblogs.com/xupengxiang/p/18285562

相关文章

  • nginx+tomcat+二级域名+https
    1.添加域名解析在腾讯云或者阿里云中添加域名解析,解析到具体得ip​​2.购买SSL证书在腾讯云或者阿里云中购买相应的SSL,基本上每个SSL只能解析一个HTTPS,所以如果你有多个二级域名设置HTTPS的话,需要申请多个SSL3.安装多个tomcat3.1下载tomcat安装包放入服务器中从网上下载t......
  • Nginx的安装
    一、前言在上一篇博客中,讲述了在服务器上安装多个tomcat,现在这篇博客要讲是安装nginx二、配置Nginx的安装环境安装Nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yuminstallgcc-c++,安装完gcc后,才可以进行下一步的安装三、编译安装1.解压......
  • Nginx设置二级域名映射到不同的Tomcat
    一、前言在之前的博客中,已经安装好了多个tomcat和nginx,本篇博客将介绍如何设置不同的二级域名转发到不同的tomcat上二、配置服务器端我使用的是腾讯云服务器,只需要在云解析中配置相关域名信息即可三、配置nginx进入nginx的配置文件中cd/usr/local/nginx/confvimnginx.c......
  • 关于nginx HTTP安全响应问题
    目录一、背景二、http基本安全配置2.1host头攻击漏洞2.2httpmethod请求方式攻击漏洞2.3点劫持漏洞(X-Frame-Options)2.4X-Download-Options响应头缺失2.5Content-Security-Policy响应头缺失2.6Strict-Transport-Security响应头缺失2.7X-Permitted-Cross-Domain-Po......
  • Nginx主要应用场景(必读)
    本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,这里是根据个人使用过和了解到过总结出来的。所以还请见谅,同时欢迎留言交流。Nginx能做什么?反向代理负载均衡HTTP服务器(包含动静分离)正向代理以上......
  • 搭建高效攻防靶场vulfocus与Docker仓库管理实战:从听说到入门系列
    搭建高效攻防靶场vulfocus与Docker仓库管理实战:从听说到入门系列vulfocus简介vulfocus,作为一款前沿的漏洞集成平台,它巧妙地将多种最新的CVE漏洞环境封装于Docker容器之中,便于部署与操作,成为提升安全实战技能的理想靶场。用户既可选择在本地VMware环境中亲手搭建,享受从零到一的......
  • UI 自动化分布式测试 - Docker Selenium Grid
    Docker和 SeleniumGrid 的结合为分布式UI自动化测试提供了一种高效、可扩展且易于管理的方法。通过使用Docker容器化技术,测试环境的设置和配置变得更加简便和一致;而SeleniumGrid则允许在多个节点上并行运行分布式测试,从而大大提升测试的速度和覆盖范围。 分布......
  • Windows下Docker-desktop
    1、在Windows下安装Docker-desktop下载:https://github.com/tech-shrimp/docker_installer/releases/download/latest/docker_desktop_installer_windows_x86_64.exe2、安装:start/w"""docker_desktop_installer_windows_x86_64.exe"install--installat......
  • UI 自动化分布式测试 -Docker Selenium Grid
    Docker和 SeleniumGrid 的结合为分布式UI自动化测试提供了一种高效、可扩展且易于管理的方法。通过使用Docker容器化技术,测试环境的设置和配置变得更加简便和一致;而SeleniumGrid则允许在多个节点上并行运行分布式测试,从而大大提升测试的速度和覆盖范围。  ......
  • Red Hat Enterprise Linux 8.0安装Docker
        上回书说到,已经通过VMwareWorkstationPro安装了RedHat虚拟机,现在尝试一下是否可以在虚拟机中安装docker;一、前置条件 CentOS7内核版本需>=3.10; CentOS6.5或以上内核版本需>=2.6.32;安装docker前请查看服务器系统版本以及内核版本是否符合要求;cat/etc/......