当前位置: 首页 > article >正文

dockerfile构建Nginx镜像练习二(5-2)

环境准备:

(1)保证拥有centos基础镜像

docker images | grep centos

(2)服务器保证可以连接外网

1.创建工作目录

mkdir nginx
cd nginx

2.在工作目录中创建并编写Dockerfile文件

vim dockerfile
#定义基础镜像
FROM centos:7

#维护者信息(可缺省)
MAINTAINER devopsxjh

#添加备注信息(可缺省)
LABEL user="devopsxjh"\
      gronp="CSDN"

#更改时区文件为亚洲上海并yum备份仓库源
RUN <<END bash
#更改时区
rm -rf /etc/localtime&&ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

mkdir /etc/yum.repos.d/bak ; mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
END

#设置阿里云公网yum源并安装nginx相关依赖(服务器需要联网)
ADD https://mirrors.aliyun.com/repo/Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo

RUN yum clean all ; yum -y install wget proc-devel net-tools gcc zlib zlib-devel make --skip-broken ; rm -rf /var/cache/yum/*

#上传nginx源码包并自动解压至指定目录
ADD nginx-1.26.2.tar.gz /usr/src/

#切换目录
WORKDIR /usr/src/nginx-1.26.2

#编译安装
RUN ./configure --prefix=/usr/local/nginx --without-http_rewrite_module && make && make install

#开启网站常用端口
EXPOSE 80 443

#切换至nginx目录
WORKDIR /root/nginx

#添加服务启动脚本并设置权限
RUN <<END bash
cat <<EOF>> /run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx -g "daemon off;"
EOF
chmod 755 /run.sh

END

#启动容器时执行脚本
CMD ["/run.sh"]

3.上传nginx源码文件

4.使用Dockerfile生成镜像

命令语法:

docker build [选项] 路径

docker build -t nginx:t1 .

5.使用新镜像运行容器测试

docker run -d -p 8080:80 --name nginx nginx:t1

#查看容器是否启动

docker ps

6.验证:

浏览器访问测试


http://www.kler.cn/a/406078.html

相关文章:

  • html5复习一
  • Web3.0安全开发实践:Clarity最佳实践总结
  • 基于ToLua的C#和Lua内存共享方案保姆级教程
  • 计算机网络socket编程(4)_TCP socket API 详解
  • 石油化工调度台的外观如何设计更有科技感
  • 国内docker pull拉取镜像的解决方法
  • 代码随想录第三十八天
  • Pulid:pure and lightning id customization via contrastive alignment
  • 华为HCCDA云技术认证--数据库服务
  • 上海乐鑫科技总代理商ESP32-C5,2.45GHz双频Wi-Fi6,高效连接更安全
  • 向量数据库FAISS之六:如何让FAISS更快
  • Memecoin市场热潮:破圈与挑战并存
  • 基于现金红包营销活动的开源 AI 智能名片与 S2B2C 商城小程序融合发展研究
  • HARCT 2025 新增分论坛6:基于机器人的智能处理控制
  • vue2 src_Todolist消息订阅版本
  • 15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
  • 使用Faiss构建音频特征索引并计算余弦相似度
  • 基于机器视觉的表面缺陷检测
  • MySQL慢查询怎么解决
  • 动态规划-用集合的角度推导状态转移方程 — 最长上升子序列(LIS)
  • MCU通过APB总线与FPGA 数据交互(实现JATG 模块的控制)
  • Matlab|计及调峰主动性的风光水火储多能系统互补协调优化调度
  • C#里演示使用路径类Path
  • 2022 年中高职组“网络安全”赛项-海南省省竞赛任务书-1-B模块B-1-Windows操作系统渗透测试
  • Matlab函数中的隐马尔可夫模型
  • Java安全—JNDI注入RMI服务LDAP服务JDK绕过