编写Dockerfile制作Web应用系统nginx镜像

news2024/11/18 14:31:02

文章目录

  • 题目要求:
  • 一、创建文档,编写Dockerfile文件
    • 可以将harbor仓库去启动先起来
  • 二、运行Dockerfile,构建nginx镜像
  • 三、推送导私有仓库,也就是我们的harbor仓库


题目要求:

编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:

  1. 基于centos基础镜像;
  2. 指定作者信息;
  3. 安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
  4. 暴露80端口;
  5. 设置服务自启动。
  6. 验证镜像。

一、创建文档,编写Dockerfile文件

1、创建文档来存放本次需要写入的东西
[root@redhat ~]# mkdir -p dockertest
[root@redhat ~]# 
[root@redhat ~]# cd dockertest/
[root@redhat dockertest]# 
[root@redhat dockertest]# mkidr test1
[root@redhat dockertest]# cd test1/
2、编写一个html的前端文件,内容随便
[root@redhat test1]# vim index.html
[root@redhat test1]# 
[root@redhat test1]# cat index.html 
hello hello hello hello hello hello hello
3、编写Dockerfile
[root@redhat test1]# vim Dockerfile
[root@redhat test1]# cat Dockerfile 
FROM centos   //题目要求从cetenos镜像
MAINTAINER "Tej <Tej@163.com>" //指定的是创建这个镜像的作者信息
ADD http://nginx.org/download/nginx-1.24.0tar.gz /usr/local/src  //类似于copy指令,支持使用TAR文件和URL路径
COPY index.html /usr/share/nginx/  // 从上下文目录中复制文件或目录到容器里指定的路径
EXPOSE 80 // 端口号为80端口
CMD ["/usr/sbin/nginx","-g","daemon off"] // CMD指令的首要目的在于为启动的容器指定默认要运行的程序,且其运行结束后,容器也将终止;不过,CMD指定的命令可以被docker run的命令行选项所覆盖

可以将harbor仓库去启动先起来

[root@redhat ~]# cd /usr/local/harbor/
[root@redhat harbor]# ls
common     docker-compose.yml    harbor.yml       install.sh  prepare
common.sh  harbor.v2.4.1.tar.gz  harbor.yml.tmpl  LICENSE
[root@redhat harbor]# 
[root@redhat harbor]# ./install.sh 
输入./install.sh 就行,之前的密码和账户都没有发生改变,不要看见remove就急忙退出了,他只是在重新启动,

在这里插入图片描述

二、运行Dockerfile,构建nginx镜像

[root@redhat test1]# vim Dockerfile 
[root@redhat test1]# docker build -t nginx:v1.1 ./
[+] Building 43.8s (9/9) FINISHED   

在这里插入图片描述
出现这个界面就表示nginx安装成功了,如果不放心的可以去docker images查看,看镜像是否运行了。

三、推送导私有仓库,也就是我们的harbor仓库

在harbor仓库里新建一个项目, 我这里是叫test1,创建项目就在界面最显眼的地方,下面第一张图就是默认的,第二张就是已经创建好了的。
在这里插入图片描述

在这里插入图片描述

#首先登录到私有仓库
[root@node2 demo01]# docker login -u admin -p Harbor12345 192.168.198.200
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
 
Login Succeeded
 
#给镜像打上合适的标签
[root@node2 demo01]# docker tag nginx:v1.1 192.168.198.200/test1/nginx
[root@redhat ~]# docker images | grep test1
192.168.11.131/test1/nginx      v1.1      d24d91713c2d   56 minutes ago   232MB

 
#推送镜像到私有仓库
[root@node2 demo01]# docker push 192.168.198.200/test1/nginx:v1.1
The push refers to repository [192.168.198.200:80/demo01/nginx]
02dfab95c1be: Pushed 
74ddd0ec08fa: Pushed 
v1.1: digest: sha256:888ed81c26b452ff94686c7709f1a6b668aeb2f2f7f80e4225eb83257428a8a7 size: 736
[root@node2 demo01]#

在这里插入图片描述

传输完毕!


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

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

相关文章

高效公文校对与文字处理:走进自然语言技术的新时代

在数字化时代的浪潮中&#xff0c;无论是政府材料、新闻稿、还是发言稿&#xff0c;高质量的文字内容成为了信息传递的核心。为了确保内容的专业性和准确性&#xff0c;公文校对和文字处理技术的进步成为了不可或缺的关键。本文将深入探讨自然语言处理技术如何为公文校对和文字…

卷轴模式:适用于多种电商场景的商业营销模式

当绿色消费成为行业趋势&#xff0c;合理消费成为人们的共识时&#xff0c;电商平台应该如何发展&#xff1f;如何创新&#xff1f;如何走得更远&#xff1f; 随着电商行业的变化&#xff0c;新时代的到来必然会产生新的模式&#xff0c;人们的消费观念不断变化。近年来&#…

VBA命令及语法列表之在代码:在字符串中添加新行

【分享成果&#xff0c;随喜正能量】烦恼本无根&#xff0c;不捡自然无。外面没有别人&#xff0c;只有你自己&#xff0c;一切烦恼都源于内耗。与其在内耗中耗费时间&#xff0c;不如用行动来提升自我&#xff0c;成就强大的人生。。 我给VBA下的定义&#xff1a;VBA是个人小…

机器学习实战之模型的解释性:Scikit-Learn的SHAP和LIME库

概要 机器学习模型的“黑箱”困境 机器学习模型的崛起让我们惊叹不已&#xff01;不论是预测房价、识别图片中的猫狗&#xff0c;还是推荐给你喜欢的音乐&#xff0c;这些模型都表现得非常出色。但是&#xff0c;有没有想过&#xff0c;这些模型到底是如何做出这些决策的呢&a…

跨境独立站引流怎么做?必看的高转化教学

熟悉跨境外贸的小伙伴应该清楚&#xff0c;不同于国内消费者习惯于在购物平台消费&#xff0c;国外买家大多喜欢登录品牌独立网站(独立站)进行购物。这也是许多跨境小伙伴入局独立站的原因之一。 但是&#xff0c;即使你拥有一个精美的网站&#xff0c;如果没有足够的流量它也…

CRUD啥也不会的高狗剩

xml resultType MyBatis查询结果resultType返回值类型详细介绍_留兰香丶的博客-CSDN博客 Mapper Service List<Map<String,String>>遍历方法 List&#xff1c;Map&#xff1c;String, String&#xff1e;&#xff1e;遍历的方法_list<map<string,string&…

分班查询工具,快速查询学生分班情况

学校的分班和分组工作对于学生来说非常重要。它有助于促进学生之间的交流和合作&#xff0c;提高他们的学习效果。通过分班和分组&#xff0c;学校可以根据学生的兴趣、能力和性格等因素&#xff0c;将他们合理地安排到不同的班级和小组中。 这样一来&#xff0c;学生们可以与志…

Netty-01-快速掌握Java NIO

文章目录 一、从传统I/O到Java NIO二、NIO 三大组件1. Channel&#xff08;通道&#xff09;1.1. FileChannel1.1.1. 获取 FileChannel1.1.2. FileChannel 读取 文件1.1.3. FileChannel写⽂件1.1.4. 通道之前传输数据-transferFrom1.1.5. 通道之前传输数据-transferTo 1.2. Soc…

MQTT Windows 安装及开机自启

一&#xff1a;搭建服务 下载地址&#xff1a; https://www.emqx.io/zh/downloads?osWindows 使用指南&#xff1a; https://www.emqx.io/docs/zh/v5.1/getting-started/getting-started.html#%E5%90%AF%E5%8A%A8-emqx 下载解压&#xff1a; 以管理员打开CMD&#xff0c;进…

c语言练习题28:杨氏矩阵

杨氏矩阵 从左到右增加 从上到下增加 思路&#xff1a; 代码&#xff1a; #include<stdio.h> int findNum(int(*arr)[3], int x, int y, int k) {int i 0;int j y - 1;while (i<x&&j>0) {if (arr[i][j] > k) {j--;}else if (arr[i][j] < k) {i;…

空时自适应处理用于机载雷达——元素空间空时自适应处理(Matla代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

保护隐私的第一步:从更新浏览器开始

当今社会已经进入了数字化和网络化的时代&#xff0c;而网络安全问题也日益突显。随着互联网在我们生活中的不断渗透&#xff0c;网络威胁变得愈发普遍和隐蔽。在这样的背景下&#xff0c;网络浏览器作为人们访问互联网的主要工具之一&#xff0c;不仅为我们提供了便捷的上网方…

2023CCF图形学启明星计划夏令营感想记录

这篇就是纯日记了&#xff0c;想记录一下参加这个夏令营的感想&#xff0c;中间的一些过程&#xff0c;毕竟这对我来说算是一段难忘的经历。 一、了解到的渠道 我个人是比较喜欢图形渲染的&#xff0c;之前也学过GAMES的课程&#xff0c;然后偶然的一天&#xff0c;GAMES101里…

后端开发有哪几种语言? - 易智编译EaseEditing

后端开发是构建应用程序的一部分&#xff0c;负责处理服务器端的逻辑、数据库交互和数据处理。有许多编程语言可用于后端开发&#xff0c;以下是一些常见的后端开发语言&#xff1a; Java&#xff1a; Java是一种广泛使用的面向对象编程语言&#xff0c;具有强大的跨平台能力。…

打造您的专属购物天堂!快来体验短视频商城app源码吧!

提倡个性化购物体验&#xff0c;短视频商城app源码助您建立独特购物天堂 尊敬的用户&#xff0c;您正在寻找一种能够打造您独特的购物天堂的方式吗?短视频商城app源码是您的最佳选择!不同于传统电商平台&#xff0c;短视频商城app源码将个性化体验与购物结合&#xff0c;为用户…

短视频商城App源码助您一站式打造自己的创业项目

您想要开始自己的创业项目&#xff0c;但是对于技术开发和设计可能会感到有些困惑。不用担心!我们为您提供了一种非常有效和快速的解决方案。迅速起步!短视频商城App源码将成为您打造创业项目的一站式解决方案。 1. 内容丰富全面 迅速起步!短视频商城App源码提供了丰富全面的功…

【Java从0到1学习】12 Java集合框架源码解读(6w字长文,快来收藏)

1. ArrayList源码剖析 1.1 ArrayList底层原理 利用空参创建的集合&#xff0c;在底层创建一个默认长度为0的数组名字为elementData&#xff0c;且还有一个底层变量size&#xff0c;用来记录元素的个数。添加第一个元素时&#xff0c;底层会创建一个新的长度为10的数组&#x…

树套树小结

树状数组套权值线段树&#xff0c;实现过程类似主席树&#xff0c;采用动态开点实现 https://www.luogu.com.cn/problem/P3380 树状数组部分 线段树部分

在项目中快速搭建机器学习的流程

在软件开发领域&#xff0c;机器学习框架发挥着关键作用&#xff0c;为开发人员提供强大的人工智能工具、库和算法&#xff0c;以有效地利用机器学习的潜力。从本质上讲&#xff0c;机器学习使计算机能够从数据中学习并做出预测或决策&#xff0c;而无需明确编程。 机器学习框…

Windows命令行调用main函数

通常C/C的入口函数都是main函数&#xff0c;平常一般使用的原型都是 int main() ;但是&#xff0c;实际上&#xff0c;main函数也可以有参数 int main(intargc[ ,char*argv[] [,char*envp[] ] ] ); int wmain(intargc[ ,wchar_t*argv[] [,wchar_t*envp[] ] ] );//适用于这种带…