iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >dockerfile指令构建docker镜像的示例代码
  • 593
分享到

dockerfile指令构建docker镜像的示例代码

2024-04-02 19:04:59 593人浏览 独家记忆
摘要

目录初识Dockerfile编写一个自己的docker 镜像:DockerFiledocker build . 命令查看镜像是如何生成的初识Dockerfile Dockerfile

初识Dockerfile

Dockerfile就是用来构建docker镜像的构建文件!命令脚本!

通过这个脚本可以生成镜像,镜像是一层层的,脚本是一行行的命令,每行命令都是一层

dockerfile是面向开发的,我们以后要发布项目,作镜像,就需要编写dockerfile文件,这个文件十分简单。

Dockerfile镜像之间成为了企业交付的标准,必须掌握!

编写一个自己的docker 镜像:

编写Dockerfile文件:

#创建一个dockerfile文件,名字可以随机,建议Dockerfile
#文件中的内容:指令(大写) 参数
 
#实例测试:
#创建目录存放dockerfile文件的目录:
[root@localhost ~]# mkdir docker_test
 
#进入目录创建dockerfile文件:
[root@localhost ~]# mkdir docker_test
[root@localhost ~]# cd docker_test/
[root@localhost docker_test]# touch dockerfile
 
#编写dockerfile文件,在文件中写入dockerfile指令:
[root@localhost docker_test]# vim dockerfile
FROM Centos
VOLUME ["volume01","volume02"]
CMD echo "----end----"
CMD /bin/bash

将Dockerfile文件转为镜像:

#使用docker build . 命令将dockerfile文件转为镜像
 
[root@localhost docker_test]# docker build -f /root/docker_test/dockerfile -t hzw/centos .
Sending build context to Docker daemon  2.048kB
 
Step 1/4 : FROM centos
 ---> 5d0da3Dc9764
Step 2/4 : VOLUME ["volume01","volume02"]
 ---> Running in d4b23ae86ace
Removing intermediate container d4b23ae86ace
 ---> 8f39792fbef7
Step 3/4 : CMD echo "----end----"
 ---> Running in 1bb4751f04ef
Removing intermediate container 1bb4751f04ef
 ---> 2e2bb5e2a502
Step 4/4 : CMD /bin/bash
 ---> Running in 82a0b5905405
Removing intermediate container 82a0b5905405
 ---> 39a1fd86fd73
Successfully built 39a1fd86fd73
Successfully tagged hzw/centos:latest
 
#由此可以发现docker创建镜像也是一层层创建的。每个命令都是镜像的一层。

查看自己构建的docker镜像

[root@localhost docker_test]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED         SIZE
hzw/centos            latest    39a1fd86fd73   2 minutes aGo   231MB

使用自己构建的docker镜像生成容器

[root@localhost docker_test]# docker run -it hzw/centos /bin/bash
[root@f62a714bb306 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  volume01  volume02
 
#可以看见我们构建的镜像也是能正常进去使用的,并且我们在dockerfile写指令挂载的目录也在这个容器里。

DockerFile

dockerfile时用来构建docker镜像文件!命令参数脚本!

构建步骤:

1、编写一个dockerfile文件

2、docker build . 构建称为一个镜像

3、docker run 运行镜像

4、docker push 发布镜像(DockerHub、阿里云镜像仓库)

Dockerfile指令:

FROM    #指定基础镜像,一切从这里开始构建
 
MAINTAINER    #镜像是谁写的,姓名+邮箱
 
RUN    #镜像构建的时候需要运行的命令
 
ADD    #步骤:Tomcat镜像,这个tomcat压缩包!添加内容
 
WORKDIR    #镜像的工作目录
 
VOLUME    #挂载的目录
 
EXPOST    #暴露端口配置
 
CMD    #指定这个容器启动时候要运行的命令,只有最后一个会生效,可被替代
 
ENTRYPOINT    #指定这个容器其董事会要运行的命令,可以追加命令
 
ONBUILD    #当构建一个被继承dockerfile,这个时候就会运行ONBUILD的指令。是一个触发指令
 
COPY    #类似ADD,将我们文件拷贝到镜像
 
ENV    #构建的时候设置环境变量!

docker build . 命令

构建好dockerfile文件后,我们就用docker build命令将文件构建成镜像。

#命令使用方法:
docker build -f dockerfile文件路径 -t 取个镜像名 .
 
#参数详解:
 
-f  dockerfile的文件路径,可以写绝对路径,也可以写相对路径
 
-t   给构建的镜像取个名字,名字格式: 名字:标签
 
.    构建上下文的路径 必须写
 

查看镜像是如何生成的

docker history 镜像ID

实操训练:Dockerfile构建Nginx镜像: 编写Dockerfile制作镜像,生成镜像名为my_build:Nginx1。首先创建目录dockerfile-nginx1,保存Dockerfile文件。具体要求如下:

(1)基于镜像centos:7

(2)安装Nginx

       a.安装相关依赖

       b.下载并解压Nginx

(3)工作目录设为:nginx-1.9.7

(4)编译安装Nginx

(5)对外暴露80,443端口

(6)修改Nginx配置文件,以非daemon方式启动

(7)复制服务启动脚本并设置权限

(8)启动容器时执行脚本run.sh

run.sh内容如下所示:

开始操作:

创建dockerfile-nginx1文件夹,进入该文件夹,编写Dockerfile文件

mkdir dockerfile-nginx1
cd dockerfile-nginx1/
vim Dockerfile

编写Dockerfile文件内容:

#该文件时基于centos7镜像为基础创建的
FROM centos:7  
 
#下载nginx依赖源
RUN yum -y install GCc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel    
 
#下载wget
RUN yum install -y wget   
 
#下载nginx
RUN wget Http://nginx.org/download/nginx-1.9.7.tar.gz   
 
#解压nginx
RUN tar -zxvf nginx-1.9.7.tar.gz    
 
#执行编译命令,通过--prefix=安装目录,指定nginx安装目录
RUN ./configure --prefix=/usr/localinx && make && make install    
 
#设置工作目录
WORKDIR nginx-1.9.7    
 
#暴露端口80和443
EXPOSE 80
EXPOSE 443
 
#将虚拟机文件复制到容器里
ADD run.sh /run.sh
 
#给run.sh授予可执行权限
RUN chmod 775 /run.sh
 
#启动容器后执行run.sh脚本
CMD ["/run.sh"]

在该文件夹里再编写一个run.sh

vim run.sh
 
run.sh里的内容:
#!/bin/bash
/usr/local/nginx/sbin/nginx

docker build 构建镜像

docker build -t my_build:nginx1 .

 docker images查看镜像:

使用该镜像构建容器:

可以看到镜像成功启动,东西也下载安装好了,工作目录设置好了,文件也复制到容器里了

到此这篇关于dockerfile指令构建docker镜像的示例代码的文章就介绍到这了,更多相关dockerfile指令构建docker镜像内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: dockerfile指令构建docker镜像的示例代码

本文链接: https://www.lsjlt.com/news/146730.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • dockerfile指令构建docker镜像的示例代码
    目录初识Dockerfile编写一个自己的docker 镜像:DockerFiledocker build . 命令查看镜像是如何生成的初识Dockerfile Dockerfile...
    99+
    2024-04-02
  • 如何用dockerfile指令构建docker镜像
    本篇内容主要讲解“如何用dockerfile指令构建docker镜像”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用dockerfile指令构建docker镜像”吧!初识Dockerfile...
    99+
    2023-06-30
  • 使用Dockerfile构建docker镜像
    目录使用Dockerfile构建docker镜像 1、什么是Dockerfile?2、执行一个Dockerfile,构建镜像   今天我们看看Dockerfile...
    99+
    2024-04-02
  • docker如何使用Dockerfile构建镜像
    本文小编为大家详细介绍“docker如何使用Dockerfile构建镜像”,内容详细,步骤清晰,细节处理妥当,希望这篇“docker如何使用Dockerfile构建镜像”文章能帮助大家解决疑惑,下面跟着小编...
    99+
    2024-04-02
  • docker通过Dockerfile构建mysql镜像的方法
    构建Dockerfile ,路径 /docker/mysql FROM hub.c.163.com/library/mysql:5.7 #作者信息 MAINTAINER hu "**...
    99+
    2024-04-02
  • Docker-compose+Dockerfile构建并启动php7.4镜像
    利用官方镜像+Dockerfile构建符合自己要求php7.4镜像 DockerFile apt官方源太慢时,切换apt源该dockerfile支持的php额外扩展 bcmatch event exif gd mysqli iconv pc...
    99+
    2023-09-01
    运维 php docker
  • docker怎么通过Dockerfile构建mysql镜像
    本篇内容主要讲解“docker怎么通过Dockerfile构建mysql镜像”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker怎么通过Dockerfile构建mysql镜像”吧!构建Do...
    99+
    2023-06-30
  • 使用Dockerfile如何构建一个docker镜像
    这篇文章给大家介绍使用Dockerfile如何构建一个docker镜像,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。使用Dockerfile构建docker镜像1、什么是Dockerfile?   ...
    99+
    2023-06-14
  • 使用Dockerfile怎么构建一个Docker镜像
    这篇文章将为大家详细讲解有关使用Dockerfile怎么构建一个Docker镜像,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Dockerfile是一个文本文件,其内包含了一条条的指令(In...
    99+
    2023-06-06
  • Docker执行DockerFile构建过程指令解析
    目录DockerFile 简介DockerFile 构建过程DockerFile 指令解析DockerFile 案例演示构建一个 mycentos 镜像DockerFile 简介 镜...
    99+
    2024-04-02
  • Dockerfile文件编写及构建镜像命令解析
    目录指令解析简单的Dockerfile文件Build命令添加dockerfile参数构建镜像构建容器并端口映射启动镜像上传到远程镜像仓库部署指令解析 FROM # 基于什么镜...
    99+
    2024-04-02
  • Dockerfile构建自定义镜像的实现
    目录前言 Dockerfile简介 Dockerfile构建镜像的流程 Dockerfile使用 前言 前面文章中使用docker运行容器使用的镜像都是从dockerhub上远程p...
    99+
    2024-04-02
  • Docker 镜像构建保姆级入门示例教程
    目录一、概述二、Dockerfile 结构三、常用 Dockerfile 操作指令1)镜像构建(docker build)2)运行容器测试(docker run)3)ARG4)FRO...
    99+
    2024-04-02
  • Dockerfile文件编写及构建镜像命令是什么
    本文小编为大家详细介绍“Dockerfile文件编写及构建镜像命令是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Dockerfile文件编写及构建镜像命令是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-06-30
  • spring-boot构建docker镜像上传仓库的示例教程
    目录spring-boot构建docker镜像上传仓库创建一个简单spring-boot-web项目准备工作执行查看镜像上传仓库思考方案1方案2spring-boot构建docker...
    99+
    2022-12-08
    docker镜像上传仓库 spring-boot构建docker镜像 springboot docker镜像
  • Docker镜像的示例分析
    这篇文章主要为大家展示了“Docker镜像的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Docker镜像的示例分析”这篇文章吧。一:思维导图二:镜像的生命周期三:镜像的组织结构四:镜像...
    99+
    2023-06-04
  • Docker镜像构建之dockercommit的使用
    目录1、创建容器2、拷贝资源3、安装资源4、构建镜像5、使用构建的镜像创建容器我们可以通过公共仓库拉取镜像使用,但是,有些时候公共仓库拉取的镜像并不符合我们的需求。尽管已经从繁琐的部...
    99+
    2024-04-02
  • Docker Nginx镜像的示例分析
    本篇文章为大家展示了Docker Nginx镜像的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一:简述Docker Hub Nginx镜像地址 https://dev.yisuy...
    99+
    2023-06-04
  • Docker和镜像的操作示例
    这篇文章主要介绍Docker和镜像的操作示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!查找镜像我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker...
    99+
    2023-06-08
  • 构建Go程序Docker镜像时指向远程基础镜像的本地依赖
    IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天编程网给大家整理了《构建Go程序Docker镜像...
    99+
    2024-04-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作