Docker容器化技术(使用Dockerfile制作Nginx镜像)

news2025/1/17 14:07:48

编写Dockerfile制作Web应用系统nginx镜像,生成镜像名为nginx:v1.1,并推送其到私有仓库。


    1、基于centos7基础镜像;
    2、指定作者为Chinaskill;
    3、安装nginx服务,将提供的dest目录传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
    4、暴露80端口;
    5、设置服务自启动。

 第一步:开机启动docker服务,编写Dockerfile

[root@localhost nginx]# vim Dockerfile

FROM centos:7
MAINTAINER Chinaskill

RUN yum install -y epel-release && yum install -y nginx
COPY index.html /usr/share/nginx/html
EXPOSE 80

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

第二步:创建nginx目录,切换到nginx目录输入nginx test page.到index.html文件中

[root@localhost nginx]# ll
total 4
-rw-r--r--. 1 root root 177 Mar 14 17:58 Dockerfile
[root@localhost nginx]# echo "nginx test page." > index.html
[root@localhost nginx]# 
[root@localhost nginx]# ll
total 8
-rw-r--r--. 1 root root 177 Mar 14 17:58 Dockerfile
-rw-r--r--. 1 root root  17 Mar 14 18:01 index.html

第三步:构建nginx镜像

[root@localhost nginx]# docker build -t reg.openlab.cn/opelab/nginx:v1 ./ --load
[+] Building 5.0s (9/9) FINISHED                                                                                                                  docker-container:default
 => [internal] load build definition from Dockerfile                                                                                                                  0.0s
 => => transferring dockerfile: 277B                                                                                                                                  0.0s
 => [internal] load metadata for docker.io/library/centos:7                                                                                                           2.4s
 => [internal] load .dockerignore                                                                                                                                     0.0s
 => => transferring context: 2B                                                                                                                                       0.0s
 => [1/3] FROM docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4                                                     0.0s
 => => resolve docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4                                                     0.0s
 => [internal] load build context                                                                                                                                     0.0s
 => => transferring context: 91B                                                                                                                                      0.0s
 => CACHED [2/3] RUN yum install -y epel-release && yum install -y nginx                                                                                              0.0s
 => CACHED [3/3] COPY index.html /usr/share/nginx/html                                                                                                                0.0s
 => exporting to docker image format                                                                                                                                  2.5s
 => => exporting layers                                                                                                                                               0.0s
 => => exporting manifest sha256:8df860d4693fa88eda1d7eee03d585aef46080ec8485e64f4893e1f29ee06546                                                                     0.0s
 => => exporting config sha256:9e9b09d588cc320e6a3ba0c99f01137a6df98dd0308be9e613f0e20b1d5b263d                                                                       0.0s
 => => sending tarball                                                                                                                                                2.5s
 => importing to docker   

第四步:启动容器

[root@localhost nginx]# docker run -d -P reg.openlab.cn/opelab/nginx:v1
fe1369e8838c13dc0dd2cf9596ff175d9128034d65429d06dc2e7e363de38dfd
[root@localhost nginx]# docker ps
CONTAINER ID   IMAGE                            COMMAND                  CREATED          STATUS          PORTS                   NAMES
fe1369e8838c   reg.openlab.cn/opelab/nginx:v1   "nginx -g 'daemon of…"   4 seconds ago    Up 3 seconds    0.0.0.0:32768->80/tcp   nervous_easley
2c14347c4f15   moby/buildkit:buildx-stable-1    "buildkitd"              15 minutes ago   Up 15 minutes                           buildx_buildkit_default

第五步:根据端口号到浏览器输入IP地址

案例完成! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1518949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-先导篇)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 案例分析篇01:软件架构设计考点架构风格及质量属性 案例分析篇11:UML设计考…

YOLO学习

至少不比原来差 网格大小:13、26、52 不同感受野匹配 损失函数是对数 二分类

通过路由器监控,优化网络效率

路由器是网络的基本连接组件,路由器监控涉及将路由器网络作为一个整体进行管理,其中持续监控路由器的性能、运行状况、安全性和可用性,以确保更好的操作和最短的停机时间,因此监控路由器至关重要。 为什么路由器监控对组织很重要…

面试相关问题准备

一.MySql篇 1优化相关问题 1.1MySql中如何定位慢查询? 慢查询的概念:在MySQL中,慢查询是指执行时间超过一定阈值的SQL语句。这个阈值是由long_query_time参数设定的,它的默认值是10秒1。也就是说,如果一条SQL语句的执…

物联网技术在农药化肥行业的远程监控解决方案

物联网技术在农药化肥行业的远程监控解决方案 随着物联网技术的日益成熟,其在农药化肥行业的应用呈现出广阔的前景。通过物联网远程监控解决方案,可以实现生产、存储和施用环节的全程智能化管理,大大提高行业效率和环保水平。 通过物联网云…

CleanMyMac X2024永久免费的强大的Mac清理工具

作为产品功能介绍专员,很高兴向您详细介绍CleanMyMac X这款强大的Mac清理工具。CleanMyMac X具有广泛的清理能力,支持多种文件类型的清理,让您的Mac始终保持最佳状态。 系统垃圾 CleanMyMac X能够深入系统内部,智能识别并清理各种…

软件设计师:12 - 下午题历年真题

章节章节01-计算机组成原理与体系结构07 - 法律法规与标准化与多媒体基础02 - 操作系统基本原理08 - 设计模式03 - 数据库系统09 - 软件工程04 - 计算机网络10 - 面向对象05 - 数据结构与算法11 - 结构化开发与UML06 - 程序设计语言与语言处理程序基础12 - 下午题历年真题End -…

Java_12 杨辉三角 II

杨辉三角 II 给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: rowIndex 3 输出: [1,3,3,1] 示例 2: 输入: rowIndex 0 输出: [1] 示例 3: 输入: rowIndex 1 输…

llama2 代码实验记录

torchrun分布式启动,所以要想在云端的环境下在本地的IDE上debug,需要设置一下,具体可以参考这里,需要传入的路径参数全部使用绝对路径。 目录 1、传入的句子 2、tokenizer 的tokenization 3、model的主要组成部分 4、过程中自…

如何关闭 Visual Studio 双击异常高亮

[问题描述]: 最近 Visual Studio 更新后,双击选中关键字快要亮瞎我的眼睛了 👀👀 [解决方法]: 摸索了一下,找到了关闭的方法:工具 → 选项 → 文本编辑器 → 常规,然后取消 勾选 sel…

【进阶五】Python实现SDVRP(需求拆分)常见求解算法——蚁群算法(ACO)

基于python语言,采用经典遗传算法(ACO)对 需求拆分车辆路径规划问题(SDVRP) 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整3. 求解结果4. 代码片段参考 往期优质资源 经过一年多的创作,目前已经成熟…

掼蛋俗语40条

1、以牌会友,天长地久 ​2、智慧掼蛋,欢乐无限 ​3、尊重对手,信任队友 ​4、小掼蛋,大世界 ​5、掼蛋敢做主,不会太受苦 ​6、掼蛋不出手,平时定保守 ​7、精彩掼蛋,生活精彩 ​8、细心…

算法打卡day14|二叉树篇03|Leetcode 104.二叉树的最大深度、559.n叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数

算法题 Leetcode 104.二叉树的最大深度 题目链接:104.二叉树的最大深度 大佬视频讲解:二叉树的最大深度视频讲解 个人思路 可以使用层序遍历,因为层序遍历会有一个层数的计算,最后计算到的层数就是最大深度; 解法 迭代法 就是…

docker 部署nacos

docker 部署nacos 1、配置数据库表 -- 导出 nacos 的数据库结构 DROP DATABASE IF EXISTS nacos; CREATE DATABASE IF NOT EXISTS nacos; USE nacos;-- 导出 表 nacos.config_info 结构 DROP TABLE IF EXISTS config_info; CREATE TABLE IF NOT EXISTS config_info (id bigi…

深入理解TCP的四次分手过程

文章目录 深入理解TCP的四次分手过程四次分手的意义四次分手的工作原理四次分手的重要性实际应用中的考虑结论补充:TIME_WAIT在哪一步?TIME_WAIT状态的目的TIME_WAIT状态的影响 深入理解TCP的四次分手过程 在网络通信中,TCP(传输控制协议)确…

疫情网课管理系统|基于springboot框架+ Mysql+Java+Tomcat的疫情网课管理系统设计与实现(可运行源码+数据库+设计文档+部署说明)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 ​编辑 学生功能模块 管理员功能 教师功能模块 系统功能设计 数据库E-R图设计 lun…

rtsp流实现web端实时播放(海康+大华)

最近的电力项目需要嵌入海康摄像头画面,之前没有做过类似的流媒体播放,所以有些懵; 海康开放平台的webAPI,有插件还是无插件,都不适合自研web系统的嵌入,所以需要自己进行解流; 首先&#xff0c…

【docker】docker的常用命令

📝个人主页:五敷有你 🔥系列专栏:中间件 ⛺️稳中求进,晒太阳 常规命令 docker version #查看docker 版本信息docker info #显示docker 的系统信息,包括镜像和容器数量docker --help #查看所有的命…

性能测试-Jmeter常用元件基础使用

一、Jmeter元件 #线程组 添加HTTP请求 #配置元件 配置元件内的元件都是用于进行初始化的东西 #监听器 监听器主要是用来获取我们使用取样器发送请求后的响应数据相关信息 #定时器 定时器主要用来控制我们多久后执行该取样器(发送请求) #前置处理器 前置处…

解锁海外市场,HubSpot网站建设全攻略

在全球化日益加剧的今天,构建符合海外市场需求的网站已成为企业走向国际化的关键一步。今天运营坛将带领大家认识到全球化意识在网站建设中的重要性,并着重介绍为何选择HubSpot作为构建海外网站的首选工具,同时探讨网站设计和用户体验的关键因…