Dockerfile离线安装Nginx详解

离线安装docker并搭建nginx 笔者不在此赘述docker相关介绍,笔者的搭建环境是离线安装,本地yum源配置不在此赘述,可参见本地yum源安装 0x00 docker安装前准备 安装包准备 笔者安装的是docker-ce版本,需要以下安装包 因为是离线安装,所以还需要一个docker所需的镜像,笔者准备的是centos7的镜像:centos7.tar 因本次实验是以搭建nginx为例,所以笔者准备了nginx... 阅读详情

一、Dockerfile使用介绍

Dockerfile是一个普通的文本文件,里面包含了许多可以在命令行接口上执行的用来构建镜像的相关指令,我们通过docker build指令就可以读取Dockerfile文件中的指令并执行自动化镜像构建。

Dockerfile中的命令根据作用分为四类:

1.1、指定基础镜像信息指令:

         FROM

1.2、指定维护者信息指令:

         MAINTAINER

1.3、对镜像操作的指令:

         RUN:后面运行shell命令

         COPY:拷贝本地文件到容器某目录

         ADD:拷贝本地压缩包到容器,拷贝完成后在容器内部自动解压。也支持从url下载文件后拷贝到容器

         VOLUME:指定容器中的某个目录影射到主机上,可以使用docker inspect contained 查看主机上的对应目录

         EXPOSE:指定容器内应用运行的端口号

1.4、容器启动后执行的命令:

         CMD:在容器中执行的命令,若docker run命令后面指定了shell命令,docker file中的CMD指令会被覆盖

         ENTRYPOINT:在容器中执行的命令,该命令执行一次,不会被覆盖 

 

二、nginx示例安装

在宿主机上准备的文件清单:

1、下载源码包

http://nginx.org/download/nginx-1.12.1.tar.gz

2、准备Dockerfile

 在/data/app/目录新建Dockerfile

编辑Dockerfile

---新生成的镜像是基于centos:7镜像---

FROM centos:7

---配置网络代理---

RUN echo "proxy=http://172.16.153.103:3128" >> /etc/yum.conf

---安装操作系统插件 ---

RUN yum -y install vim net-tools bridge-utils firewalld bc iotop bc gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel zip unzip zlib-devel lrzsz tree ntpdate telnet lsof tcpdump wget libevent libevent-devel systemd-devel bash-completion traceroutepsmisc

---创建部署目录---

RUN mkdir -p /data/projects/common/nginx

---创建用户---

RUN useradd nginx -s /sbin/nologin -u 2000

---添加源码包到部署目录并解压---

ADD nginx-1.12.1.tar.gz /data/projects/common

---源码编译并启动程序拷贝到系统目录---

RUN cd /data/projects/common/nginx-1.12.1 && ./configure --prefix=/data/projects/common/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module && make && make install && ln -sv /data/projects/common/nginx/sbin/nginx /usr/sbin/nginx

---默认启动命令---

CMD ["nginx","-g","daemon off;"]

---暴露端口---

EXPOSE 80

EXPOSE 443
 

三、根据Dockerfile生成镜像

 docker build -t nginx:linux .

执行完成之后 查看镜像

docker images

四、启动

docker run -it -p 8081:80 --name nginxtest nginx:linux 

五、测试

1、在宿主机测试下是否能够访问

telnet  ip地址 8081

2、浏览器访问:宿主机ip:8081 
 

docker 离线部署 nginx docker 离线安装nginx 阅读详情

相关推荐

Docker + goacces实现Nginx离线日志分析

Docker + goacces实现Nginx离线日志分析1.准备资料(1)goaccess-1.3.tar.gz(2)nginx-1.10.1.tar.gz(用于日志分析后的HTML展示)(3)access.log(Nginx日志)2.编写DockerFile3.构建Docker镜像(1) 所有文件置于同一文件夹(2) window打开CMD cd入此目录输入构建命令,Linux直接cd进入目录...

sm的博客 1471

docker离线安装nginx并配置nginx.conf

docker离线安装nginx,并配置location映射

qq_42839797的博客 2975

Docker 部署离线版 Nginx 镜像容器,Tomcat 镜像容器,Mariadb 镜像容器

切莫死记硬背,小心面试官直接让你出门右拐1000道互联网Java面试题:

2401_84048445的博客 1257

【docker】docker-compose 离线环境下安装 nginx

本文介绍了Docker离线安装Nginx的完整流程。首先从网络环境下载Nginx镜像并打包成离线文件(redis.6.2.20.tar),然后上传至服务器通过docker load命令加载。重点讲解了docker-compose.yml的配置方法,包括网络模式、端口映射和目录挂载设置。同时提供了nginx.conf配置文件示例和构建命令,最后通过访问测试页面和查看日志验证安装成功。整个流程包含镜像准备、离线安装、配置调整和运行测试四个主要步骤,适合在内网环境中部署Nginx服务。

Tm598035415的博客 1394

Dockerfile 搭建 php7.2+nginx+redis镜像 v20201224

docker确实好用,通过使用中的摸索,优化了一下使用步骤: 特别说明: 1.容器的构建、启动、进入、打包成文件,都可以通过shell脚本操作,不用每次键入完整的docker指令; 2.支持将容器打包成tar格式的镜像文件,省去Dockerfile的编译时间; 3.dockerfile已做容器层压缩,进而缩小镜像的体积; 4.run.sh中的脚本,最后一个必须是阻塞的,如果都是nohup ... &,会导致容器启动为以“0”的状态码退出,无法成功启动。 5.由于Dockerfile中的c

qq_42550285的博客 860

Linux内网使用docker启动nginx或者直接使用nginx

本文详细介绍了在服务器上使用Docker部署Nginx的完整流程。首先说明如何安装Docker环境,包括下载、解压、配置系统服务等步骤。然后指导拉取Nginx镜像并打包成tar文件,上传到服务器加载。接着详细讲解Nginx容器的启动、配置挂载点、端口映射等操作,包括如何拷贝容器内配置文件到宿主机。文章还提供了常用Docker命令总结和注意事项,如自启动配置、多端口映射等。最后介绍了直接安装Nginx的替代方案,包括gcc、g++、zlib等依赖库的安装步骤。两种部署方式都给出了详细的命令和配置说明。

m0_71959549的博客 4719

【linux学习博客作业】第十四周

Docker 通过 “容器化” 技术解决了软件开发中 “环境一致性” 和 “部署效率” 的核心痛点,其轻量、可移植、隔离的特性使其成为现代应用架构的基石。掌握 Docker 是学习微服务、云原生技术(如 Kubernetes)的重要基础。提示:以下是本篇文章正文内容Docker。

qq_35800533的博客 735

docker离线安装nginx镜像

docker离线安装nginx镜像

dockerfile 安装 java_Dockerfile安装jdk1.8和nginx

1、下载jdk1.8下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html我下载的是jdk1.8.0_1912、上传到服务器,并解压3、在解压jdk1.8.0_191的同级目录新建一个Dockerfile文件vim DockerfileFROM centos:7MAINTAI...

weixin_30343429的博客 1307

网格自适应_Comsol案例解析17:自适应网格的使用

本期导读自适应网格细化有许多优势,比如可以不用对网格进行全局加密,增加计算精度,又会降低求解自由度。本期仍然以气泡上升案例为例,在两相流模块中使用自适应网格。【打开案例模型】【修改网格】适当让气泡边界加密,注意,曲率因子越小,曲线上的网格越密【添加自适应网格】使用默认的参数即可,这里的误差指示器用的是水平集phi。可以根据具体求解模型选择适当的自变量作为误差指示器。【口诀】默认的一般是最...

weixin_28726871的博客 5681

保姆级教学:从0搭建微信小程序SpringBoot+Vue(一)

目标:实现一个微信小程序从后端数据库MySQL获取的商品展示页。 框架:后端采用SpringBoot,前端采用Vue,数据库MySQL。 部署工具:IntelliJ IDEA 2024.2专业版+HbuilderX+Node+微信开发者工具,jdk1.8已安装

weixin_44545610的博客 4925

dockerfile构建nginx镜像

通过导入操作系统的模板文件可生成镜像模板可以从openvz开源项目下载http://download.openvz.org/template/precreated/debian-7.0-x86.tar.gz由于有点大所以可以选择离线下载上传虚拟机下面我是使用docker导入命令将下载的debian模板压缩包导入为本地镜像的例子前提是先将wget安装。重新拉取镜像并存储本地的nickistre/centos-lamp镜像文件存储的新镜像文件名为lamp从lamp中载入镜像到本地镜像库中。

weixin_46746232的博客 2076

使用DeepSeek、MCP和AKShare实现智能金融问答系统技术方案

DeepSeek是由深度求索公司开发的大规模语言模型,最新版本DeepSeek-V3采用混合专家(MoE)架构,拥有671B参数,激活37B参数,在多项基准测试中表现优异3。要使用DeepSeek的API服务:访问DeepSeek平台注册账号获取API Key(形如AKShare是基于Python的金融数据接口库,提供股票、基金、期货、宏观经济等领域的海量数据。主要特点包括:免费开源,数据源丰富支持多种数据格式(DataFrame/JSON)持续更新维护安装命令。

Kin 3173

dockerfile 制作基于ubuntu 的nginx 镜像

dockerfile 制作基于ubuntu 的nginx 镜像 1. 下载镜像 docker pull ubuntu:1804 2. 准备ubuntu的源 cat sources.list deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multi

qq_36801585的博客 2524

从Axure转Figma?这篇编组、缩放、圆角、评论的对比指南帮你无缝切换

本文为资深Axure设计师提供了向Figma无缝迁移的实战指南。文章深度对比了编组、缩放、圆角、评论等核心操作,重点解析了Figma独特的自动布局、组件系统和实时协作功能,旨在帮助用户快速适应新工具,实现设计思维与工作效率的跃迁。

tomato的博客 850

计算机视觉-深度学习图像检测方法梳理

计算机视觉-深度学习图像检测方法梳理 由于之后要转方向啦,趁这段时间整理手中硕士研究方向的一些阅读笔记,这是一篇关于计算机视觉的基础知识梳理 先搞清一些小知识点 首先我们要弄清楚图像分类、目标定位、语义分割、实例分割的区别 a. 图像分类 :给定一张输入图像,图像分类任务旨在判断该图像所属类别; b. 目标定位 :在图像分类的基础上,我们还想知道图像中的目标具体在图像的什么位置,通常是以包围盒的(bounding box)形式; c. 语义分割 :语义分割是目标检测更进阶的任务,目标检测只需要框出每个目

qq_41662991的博客 9953

Dockerfile实战:从CentOS基础镜像到Nginx服务定制化部署

在实际项目开发和测试环境搭建中,我们经常需要基于一个基础镜像,定制出符合特定业务需求的专属镜像。例如,你可能需要一个预装了特定服务(如 Nginx、MySQL)和配置了内部 Yum 源的 CentOS 容器。直接进入容器安装软件虽然可行,但无法固化成果,容器销毁后一切都需要重来。通过 Dockerfile 定制镜像,则能将环境构建过程代码化、版本化,实现一次构建,随处运行。 本文将围绕一个典型的运维开发场景展开:从拉取一个干净的 CentOS 7.9 基础镜像开始,逐步编写 Dockerfile,在构建镜像

weixin_34259232的博客 416

利用Android系统漏洞实现后台弹窗(外弹)

关键:从 Android 8.0(API 26)开始,禁止使用 context.sendBroadcast() 发送隐式广播(即没有指定 setPackage() 或明确组件的广播)。demo核心代码展示利用Android显示系统和广播系统的漏洞实现在后台弹窗的功能,支持最新Android15,16版本。核心功能都是在so层去做,大量使用了jni反调, 如果要上架到应用市场,需要对代码做进一步混淆,加固以应对市场安全扫描。3,开启虚拟显示窗口,这是个透明像素窗口。5,可开启一个线程,调用这个外弹窗口。

2018,再出发~ 1316

Dockerfile实战:从零构建Nginx镜像并解决容器内Yum仓库配置

容器化技术通过将应用及其依赖打包成标准镜像,实现了环境一致性和快速部署。其核心原理是基于分层文件系统和命名空间隔离,为微服务架构提供了轻量级、可移植的运行环境。在工程实践中,定制Docker镜像是关键环节,而**Dockerfile**作为构建蓝图,直接决定了镜像的组成与行为。一个常见的技术痛点是容器内部的基础环境配置,例如在基于CentOS的镜像中,默认的Yum仓库往往不可用,导致软件安装失败。通过编写Dockerfile,可以系统性地解决此类问题,例如在构建阶段**配置内部Yum仓库**,确保后续的软件

weixin_34414196的博客 385

WPF插件架构-如何动态加载封装好的第三方DLL的界面

插件架构中如何自动加载第三方DLL中的UI界面

lg24k的博客 1882

三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法

三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法

Robot_PLC_HMI_Automation 6514

DockerFile集成mysql,nginx,zookeeper,redis,tomcat为一个镜像

将mysql、nginx、zookeeper、redis、tomcat集成为一个docker镜像 实现运行一个镜像,便全部自动化安装启动mysql、nginx、zookeeper、redis、tomcat。 1.在CentOS7上安装Docker 2.复制拷贝相关压缩包到同一个目录 3.拉取centos镜像 4.在压缩包目录下编写Dockerfile FROM centos:centos7 MAI...

生活没有圈的博客 8157

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

离线环境下docker启动springboot项目

Docker linux 离线部署springboot

qq_17152035的博客 928

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Linux docker及docker-compose安装教程

本文介绍了Linux系统中Docker和Docker-Compose的安装方法。在x86架构下,提供了联网和离线两种安装方式:对于Ubuntu系统可使用阿里云源在线安装,CentOS/AnolisOS系统可通过官方仓库或阿里镜像源安装;离线安装则需下载对应版本的安装包进行手动配置。同时详细说明了Docker服务配置、权限设置和开机自启等步骤。对于Docker-Compose的安装,给出了在线下载最新版本的命令。文中包含完整的代码示例,涵盖从安装到验证的全部流程,适用于不同Linux发行版的Docker环境部

qq_35861227的博客 4072

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

docker离线部署

docker离线安装: 1.安装lrzsz上传文件 yum install -y lrzsz 2.安装解压zip yum install unzip zip 3.上传文件命令 rz (也可以通过Xftp来上传文件) 一.docker安装: 1.进入服务器根目录,创建data文件夹 # 切换到根目录 cd / #创建data文件 mkdir data 2.将docker-18.06.3-ce.tar上传并解压 tar -zxvf docker-18.06.3-ce.tar 3.将解压出来的d

weixin_45552405的博客 5684
上一篇: win10安装JDK并配置环境变量
下一篇: IDEA 配置Tomcat
一棵卿菜
博客等级 码龄8年 6粉丝 16原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值