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

这篇具有很好参考价值的文章主要介绍了编写Dockerfile制作Web应用系统nginx镜像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。



题目要求:

编写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制作Web应用系统nginx镜像,docker,harbor

二、运行Dockerfile,构建nginx镜像

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

编写Dockerfile制作Web应用系统nginx镜像,docker,harbor
出现这个界面就表示nginx安装成功了,如果不放心的可以去docker images查看,看镜像是否运行了。

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

在harbor仓库里新建一个项目, 我这里是叫test1,创建项目就在界面最显眼的地方,下面第一张图就是默认的,第二张就是已经创建好了的。
编写Dockerfile制作Web应用系统nginx镜像,docker,harbor

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

#首先登录到私有仓库
[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]#

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

传输完毕!文章来源地址https://www.toymoban.com/news/detail-673431.html


到了这里,关于编写Dockerfile制作Web应用系统nginx镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【iOS逆向与安全】编写一个使应用保持前台运行的系统插件

    iOS越狱为用户打开了无限的可能性,其中之一是便是开发系统级插件,为了确保应用程序一直保持在前台,即使在意外情况下也是如此。 本文将向您展示如何轻松编写这样的插件,让我们开始探索iOS系统插件的世界吧! 学会创建功能强大的iOS系统插件。 mac系统 frida:动态调

    2024年02月03日
    浏览(31)
  • Nginx常用命令及具体应用(Linux系统)

    目录 一、常用命令 1、查看Nginx版本命令,在sbin目录下 2、检查配置文件的正确性 3、启动和停止Nginx 4、查看日志,在logs目录下输入指令: 5、重新加载配置文件 二、Nginx配置文件结构 三、Nginx具体应用 1、部署静态资源 2、反向代理 3、负载均衡 1、查看Nginx版本命令,在sbi

    2024年02月09日
    浏览(33)
  • 基于ASP.NET的Web应用系统架构探讨

           摘要:提出了一种基于ASP.NET开发方式的四层架构的Web应用系统构造思想。其基本内容是:将面向对象的UML建模与Web应用系统开发相结合,将整个系统分成适合ASP.NET开发方式的应用表示层、业务逻辑层、数据访问层和数据存储层四层结构。以此方式构造的Web应用不仅

    2024年02月06日
    浏览(28)
  • Unity使用新输入系统InputSystem制作飞机大战Demo(对象池设计模式及应用)

    @作者 : SYFStrive @博客首页 : HomePage 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 📌: 觉得文章不错可以点点关注 👉: 专栏连接🔗 💃: 程序员每天坚持锻炼💪 👉 飞机大战专栏 (🔥) 单例模式是1种设计模式:👉(Design pattern)代表了最佳的实践,通常被有经

    2024年01月23日
    浏览(37)
  • 基于kubernetes集群分布式部署gpmall Web应用系统

    【说明】 gpmall是一个基于SpringBoot+Dubbo构建的开源电商平台,许老师针对在k8s集群部署中出现的一些问题,修复了该项目的部分bug并再次发布到gitee,建议从他的gitee下载学习,gpmall的更多介绍以及源码下载链接为:gpamll 以下部署过程借签了许老师的有道云笔记,并做了优化和

    2024年02月08日
    浏览(65)
  • 基于PHP的新闻发布管理系统_WEB管理系统_MySQL应用

    目录 第一章 绪论1 1.1校园新闻发布系统描述1 1.2系统目的1 1.3校园新闻发布系统设计概要模型1 1.4校园新闻发布系统功能要求1 第二章校园新闻系统可行性分析3 2.1系统可行性分析3 2.2技术可行性分析3 2.2.1 mysql数据库3 2.2.2 什么是php3 2.2.3 apache web服务器4 2.2.4  Dreamweave85 2.3操作可

    2024年02月06日
    浏览(35)
  • Windows应急响应 -Windows日志排查,系统日志,Web应用日志,

    「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 Windows系统日志存放在 C:WindowsSystem32winevtLogs 目录下,使用系统自带的【事件查看器】来查看 WIN + R,输

    2023年04月09日
    浏览(38)
  • 毕设分享 多功能 Web 应用渗透测试系统(源码+论文)

    今天学长向大家介绍适合作为毕设的项目: 毕设分享 多功能 Web 应用渗透测试系统(源码+论文) 项目获取: https://gitee.com/sinonfin/algorithm-sharing 系统简介 本项目为 多功能 Web 应用渗透测试系统 ,包含 漏洞检测、目录识别、端口扫描、指纹识别、域名探测、旁站探测、信息泄

    2024年04月11日
    浏览(38)
  • 使用Dockerfile编写源码安装Nginx镜像

            其实在Docker仓库中,存在nginx容器镜像,但是我们为什么还有自己来编写呢,是因为有的时候仓库中的版本,并非我们在需要的版本镜像,还有一点就因为安全问题,毕竟别人家的东西哪有自己家的东西用着安心呢。         Dockerfile是使用源代码构建docker的镜

    2024年02月10日
    浏览(27)
  • 大数据毕设分享 多功能 Web 应用渗透测试系统(源码+论文)

    # 0 简介 今天学长向大家介绍适合作为毕设的项目: 毕设分享 多功能 Web 应用渗透测试系统(源码+论文) 项目获取: https://gitee.com/sinonfin/algorithm-sharing 系统简介 本项目为 多功能 Web 应用渗透测试系统 ,包含 漏洞检测、目录识别、端口扫描、指纹识别、域名探测、旁站探测

    2024年02月20日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包