使用Dockerfile构建nginx镜像

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

 雨雀:使用Dockerfile构建nginx镜像 · 语雀 (yuque.com)

 yaml文件用法:02 Docker三剑客之一-Dockerfile · 语雀 (yuque.com)

1.使用Dockerfile构建nginx镜像

[root@localhost ~]# mkdir nginx && cd nginx
[root@localhost nginx]# echo "hello docker" > index.html

2.编写Dockerfile

[root@localhost nginx]# cat Dockerfile 
ARG version=7
FROM centos:${version}
MAINTAINER HWJ
RUN mkdir /hwjvol
VOLUME ["vdata1","hwjvol"]
LABEL version="12" author=hwj description="This is hwj's nginx"
RUN yum install -y wget 
RUN wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
RUN yum install -y nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
ADD index.html /usr/share/nginx/html/index.html
EXPOSE 80 443 
CMD ["/usr/sbin/nginx"]

yaml文件用法:02 Docker三剑客之一-Dockerfile · 语雀 (yuque.com)

3.构建镜像

[root@localhost nginx]# docker build -t hwj_ng:12 -f /root/nginx/Dockerfile .
Sending build context to Docker daemon  4.096kB
Step 1/13 : ARG version=7
Step 2/13 : FROM centos:${version}
 ---> eeb6ee3f44bd
Step 3/13 : MAINTAINER HWJ
 ---> Using cache
 ---> 2496609ee6e4
Step 4/13 : RUN mkdir /hwjvol
 ---> Using cache
 ---> b22884341e05
Step 5/13 : VOLUME ["vdata1","hwjvol"]
 ---> Using cache
 ---> e3f891783a32
Step 6/13 : LABEL version="12" author=hwj description="This is hwj's nginx"
 ---> Using cache
 ---> af80bf31b198
Step 7/13 : RUN yum install -y wget
 ---> Running in f0c28b144d86
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package wget.x86_64 0:1.14-18.el7_6.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package        Arch             Version                   Repository      Size
================================================================================
Installing:
 wget           x86_64           1.14-18.el7_6.1           base           547 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 547 k
Installed size: 2.0 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/base/packages/wget-1.14-18.el7_6.1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for wget-1.14-18.el7_6.1.x86_64.rpm is not installed
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-9.2009.0.el7.centos.x86_64 (@CentOS)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : wget-1.14-18.el7_6.1.x86_64                                  1/1 
install-info: No such file or directory for /usr/share/info/wget.info.gz
  Verifying  : wget-1.14-18.el7_6.1.x86_64                                  1/1 

Installed:
  wget.x86_64 0:1.14-18.el7_6.1                                                 

Complete!
Removing intermediate container f0c28b144d86
 ---> 5fe03776d9ba
Step 8/13 : RUN wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
 ---> Running in fcca48467ba2
--2022-03-24 03:01:35--  http://mirrors.aliyun.com/repo/epel-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 183.216.185.208, 183.216.185.215, 117.167.122.240, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|183.216.185.208|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 664 [application/octet-stream]
Saving to: '/etc/yum.repos.d/epel.repo'

     0K                                                       100%  137M=0s

2022-03-24 03:01:36 (137 MB/s) - '/etc/yum.repos.d/epel.repo' saved [664/664]

Removing intermediate container fcca48467ba2
 ---> 3c9ec882ee26
Step 9/13 : RUN yum install -y nginx
 ---> Running in dfaad2d1147b
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.20.1-9.el7 will be installed
--> Processing Dependency: nginx-filesystem = 1:1.20.1-9.el7 for package: 1:nginx-1.20.1-9.el7.x86_64
--> Processing Dependency: libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) for package: 1:nginx-1.20.1-9.el7.x86_64
--> Processing Dependency: libssl.so.1.1(OPENSSL_1_1_0)(64bit) for package: 1:nginx-1.20.1-9.el7.x86_64
--> Processing Dependency: libssl.so.1.1(OPENSSL_1_1_1)(64bit) for package: 1:nginx-1.20.1-9.el7.x86_64
--> Processing Dependency: nginx-filesystem for package: 1:nginx-1.20.1-9.el7.x86_64
--> Processing Dependency: openssl for package: 1:nginx-1.20.1-9.el7.x86_64
--> Processing Dependency: redhat-indexhtml for package: 1:nginx-1.20.1-9.el7.x86_64
--> Processing Dependency: system-logos for package: 1:nginx-1.20.1-9.el7.x86_64
--> Processing Dependency: libcrypto.so.1.1()(64bit) for package: 1:nginx-1.20.1-9.el7.x86_64
--> Processing Dependency: libprofiler.so.0()(64bit) for package: 1:nginx-1.20.1-9.el7.x86_64
--> Processing Dependency: libssl.so.1.1()(64bit) for package: 1:nginx-1.20.1-9.el7.x86_64
--> Running transaction check
---> Package centos-indexhtml.noarch 0:7-9.el7.centos will be installed
---> Package centos-logos.noarch 0:70.0.6-3.el7.centos will be installed
---> Package gperftools-libs.x86_64 0:2.6.1-1.el7 will be installed
---> Package nginx-filesystem.noarch 1:1.20.1-9.el7 will be installed
---> Package openssl.x86_64 1:1.0.2k-24.el7_9 will be installed
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.2k-24.el7_9 for package: 1:openssl-1.0.2k-24.el7_9.x86_64
--> Processing Dependency: make for package: 1:openssl-1.0.2k-24.el7_9.x86_64
---> Package openssl11-libs.x86_64 1:1.1.1k-2.el7 will be installed
--> Running transaction check
---> Package make.x86_64 1:3.82-24.el7 will be installed
---> Package openssl-libs.x86_64 1:1.0.2k-19.el7 will be updated
---> Package openssl-libs.x86_64 1:1.0.2k-24.el7_9 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package               Arch        Version                   Repository    Size
================================================================================
Installing:
 nginx                 x86_64      1:1.20.1-9.el7            epel         587 k
Installing for dependencies:
 centos-indexhtml      noarch      7-9.el7.centos            base          92 k
 centos-logos          noarch      70.0.6-3.el7.centos       base          21 M
 gperftools-libs       x86_64      2.6.1-1.el7               base         272 k
 make                  x86_64      1:3.82-24.el7             base         421 k
 nginx-filesystem      noarch      1:1.20.1-9.el7            epel          24 k
 openssl               x86_64      1:1.0.2k-24.el7_9         updates      494 k
 openssl11-libs        x86_64      1:1.1.1k-2.el7            epel         1.5 M
Updating for dependencies:
 openssl-libs          x86_64      1:1.0.2k-24.el7_9         updates      1.2 M

Transaction Summary
================================================================================
Install  1 Package  (+7 Dependent packages)
Upgrade             ( 1 Dependent package)

Total download size: 26 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
--------------------------------------------------------------------------------
Total                                              632 kB/s |  26 MB  00:41     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : centos-logos-70.0.6-3.el7.centos.noarch                     1/10 
  Installing : centos-indexhtml-7-9.el7.centos.noarch                      2/10 
  Installing : 1:make-3.82-24.el7.x86_64                                   3/10 
  Installing : gperftools-libs-2.6.1-1.el7.x86_64                          4/10 
  Installing : 1:openssl11-libs-1.1.1k-2.el7.x86_64                        5/10 
  Updating   : 1:openssl-libs-1.0.2k-24.el7_9.x86_64                       6/10 
  Installing : 1:openssl-1.0.2k-24.el7_9.x86_64                            7/10 
  Installing : 1:nginx-filesystem-1.20.1-9.el7.noarch                      8/10 
  Installing : 1:nginx-1.20.1-9.el7.x86_64                                 9/10 
  Cleanup    : 1:openssl-libs-1.0.2k-19.el7.x86_64                        10/10 
  Verifying  : 1:nginx-filesystem-1.20.1-9.el7.noarch                      1/10 
  Verifying  : 1:nginx-1.20.1-9.el7.x86_64                                 2/10 
  Verifying  : 1:openssl-libs-1.0.2k-24.el7_9.x86_64                       3/10 
  Verifying  : 1:openssl11-libs-1.1.1k-2.el7.x86_64                        4/10 
  Verifying  : gperftools-libs-2.6.1-1.el7.x86_64                          5/10 
  Verifying  : 1:make-3.82-24.el7.x86_64                                   6/10 
  Verifying  : 1:openssl-1.0.2k-24.el7_9.x86_64                            7/10 
  Verifying  : centos-indexhtml-7-9.el7.centos.noarch                      8/10 
  Verifying  : centos-logos-70.0.6-3.el7.centos.noarch                     9/10 
  Verifying  : 1:openssl-libs-1.0.2k-19.el7.x86_64                        10/10 

Installed:
  nginx.x86_64 1:1.20.1-9.el7                                                   

Dependency Installed:
  centos-indexhtml.noarch 0:7-9.el7.centos                                      
  centos-logos.noarch 0:70.0.6-3.el7.centos                                     
  gperftools-libs.x86_64 0:2.6.1-1.el7                                          
  make.x86_64 1:3.82-24.el7                                                     
  nginx-filesystem.noarch 1:1.20.1-9.el7                                        
  openssl.x86_64 1:1.0.2k-24.el7_9                                              
  openssl11-libs.x86_64 1:1.1.1k-2.el7                                          

Dependency Updated:
  openssl-libs.x86_64 1:1.0.2k-24.el7_9                                         

Complete!
Removing intermediate container dfaad2d1147b
 ---> 3156146d32ad
Step 10/13 : RUN echo "daemon off;" >> /etc/nginx/nginx.conf
 ---> Running in 806bd0eba0a9
Removing intermediate container 806bd0eba0a9
 ---> 538ab0005d67
Step 11/13 : ADD index.html.tar.gz /usr/share/nginx/httml/index.html
 ---> 96e50ee998f1
Step 12/13 : EXPOSE 80 443
 ---> Running in 5e305708d2e6
Removing intermediate container 5e305708d2e6
 ---> 5f40f9fd1057
Step 13/13 : CMD ["/usr/sbin/nginx"]
 ---> Running in ac5bc5c3a67f
Removing intermediate container ac5bc5c3a67f
 ---> 103fc4f15fa0
Successfully built 103fc4f15fa0
Successfully tagged hwj_ng:12

4.运行镜像 

docker run -d -p 8080:80 --name hwj12 103
1c9f69945232fc8bdffbecbd95d7d74fda6dd2bc5091d55192d3b85ce105bcd0
[root@localhost nginx]#  curl localhost:8080
hello docker

 文章来源地址https://www.toymoban.com/news/detail-526012.html

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

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

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

相关文章

  • 【云原生】Docker镜像的创建 Dockerfile 多阶段构建原理和使用场景

    创建镜像有三种方法,分别为【基于已有镜像创建】、【基于本地模板创建】以及【基于Dockerfile创建】。 (1)首先启动一个镜像,在容器里做修改  docker run -it --name web centos:7 /bin/bash     #启动容器  ​  yum install -y epel-release  #安装epel源  yum install -y nginx         #安装ng

    2024年02月12日
    浏览(54)
  • dockerfile以alpine为基础镜像构建nginx镜像

    Alpine Linux 是一个社区开发的面向安全应用的轻量级Linux发行版。 Alpine 的意思是“高山的”,它采用了musl libc和busybox以减小系统的体积和运行时资源消耗,同时还提供了自己的包管理工具apk。 由于其小巧、安全、简单以及功能完备的特点,被广泛应用于众多Docker容器中。 a

    2023年04月22日
    浏览(58)
  • 【docker】dockerfile构建镜像

    Dockerfile 是一个文本文件,文件中包含了一条条的指令(instruction),用于构建镜像。每一条指定构建一层镜像,因此每一条指令的内容,就是描述该层镜像应当如何构建。 1、dockerfile是 自定义镜像 的一套规则 2、dockerfile由多条指令构成,dockerfile的每一条指令都会对应于do

    2024年02月05日
    浏览(60)
  • Docker之Dockerfile构建镜像

       🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《Docker之Dockerfile构建镜像》。🎯🎯 🎁如果感觉还不错的话请给我关注加三连吧!🎁🎁         在上一期有关Docker的博客分享中我们学习到了Docker的一

    2024年01月18日
    浏览(61)
  • 【Docker】Dockerfile构建最小镜像

    接下来看看由辉辉所写的关于Docker的相关操作吧 目录 🥳🥳Welcome 的Huihui\\\'s Code World ! !🥳🥳 前言 一.Dockerfile是什么 二.Dockerfile的基本结构 三.基础镜像的选择 四. 自定义镜像 0.jar包的准备 1.jar同级目录下创建Dockerfile文件 2.创建镜像 3.运行镜像 (1)上传jre (2)编辑Dockerdil

    2024年01月17日
    浏览(58)
  • 【docker】Dockerfile构建镜像常用指令:

    一、常用命令: Dockerfile是一个文本文件,包含了一条条的指令,在基于指定的镜像上,一条指令构建一层,最终构建出一个新的镜像。 作用 备注 格式 FROM 指定基础镜像 指定基于哪个镜像开始构建 FROM image:tag MAINTAINER 作者信息 标明这个dockerfile是谁写的(已弃用) M

    2024年02月13日
    浏览(49)
  • Docker-Dockerfile构建镜像

    Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,另外,使用 Dockerfile 去构建镜像好比使用 pom 去构建 maven 项目一样,有异曲同工之妙 centos alpine 1. 空间大小差异, alpine 默认 5M 左右, centos 等都在 200M 左右。 2. 默认软件包差异, alpin

    2024年01月17日
    浏览(44)
  • 如何在 Linux 命令行下玩转 Docker——如何使用 Dockerfile 来构建和运行容器镜像

    作者:禅与计算机程序设计艺术 Docker 是一款开源的容器化技术,它利用 Linux 内核的容器特性,将应用部署到独立的进程环境中。基于容器技术可以极大地提高开发者和运维人员的效率,降低部署、测试和生产环节中的成本,有效地实现云计算资源的弹性伸缩。 本文主要介绍

    2024年02月07日
    浏览(59)
  • Dockerfile构建SSH、Systemctl、Nginx、Tomcat、MySQL镜像实验

    目录 一、构建SSH镜像 二、构建Systemctl镜像 三、构建Nginx镜像 四、构建Tomcat镜像 五、构建MySQL镜像 1、创建镜像目录方便管理 2、创建编写dockerfile文件 3、生成镜像 4、启动容器并修改root密码 1、创建镜像目录方便管理 2、创建编写dockerfile文件 3、生成镜像 4、进入容器 1、创建

    2024年02月15日
    浏览(43)
  • 【Docker】如何编写Dockerfile,深入理解 Dockerfile:构建精简且高效的容器镜像

    Docker 是一种轻量级的容器化技术,使得应用程序和它们的依赖可以被打包到一个容器中,方便在不同环境中运行。Dockerfile 是用于定义 Docker 镜像的文本文件,其中包含了一系列的指令,这些指令描述了镜像中应该包含哪些内容和如何配置。 在开始编写 Dockerfile 之前,确保你

    2024年01月24日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包