iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >使用Dockerfile怎么构建一个Docker镜像
  • 535
分享到

使用Dockerfile怎么构建一个Docker镜像

2023-06-06 10:06:05 535人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关使用Dockerfile怎么构建一个Docker镜像,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Dockerfile是一个文本文件,其内包含了一条条的指令(In

这篇文章将为大家详细讲解有关使用Dockerfile怎么构建一个Docker镜像,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Dockerfile是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建.

Dockerfile支持shell类的行尾添加"\"的命令换行方式,以及行首"#"进行注释的格式.

使用Dockerfile构建Docker镜像时注意事项:

(1).尽量选取满足需求但较小的基础系统镜像;

(2).清理编译生成文件、安装包的缓存等临时文件;

(3).安装各个软件时候要指定准确的版本号,并避免引入不需要的依赖;

(4).添加.dockerignore文件或使用干净的工作目录.

Dockerfile常用指令:

(1).FROM:用于指定要构建的镜像的基础镜像,它通常是Dockerfile中的第一条指令;

(2).LABEL:用于添加标签来帮助组织镜像、记录许可信息、辅助自动化构建等,标签是键值对,以字符串存储;

(3).RUN:用于在镜像中执行命令,这会创建新的镜像层,每个RUN指令创建一个新的镜像层,永远将apt-get update和apt-get install组合成一条RUN;

RUN指令有两种格式:

A.shell格式:RUN <命令>,就像直接在命令行中输入的命令一样;

B.exec格式:RUN ["可执行文件", "参数1", "参数2"];

(4).COPY:支持简单将本地文件拷贝到容器中,通常使用COPY指令将应用代码赋值到镜像中;

(5).EXPOSE:用于记录应用所使用的网络端口;

(6).ENTRYPOINT:用于指定镜像以容器方式启动后默认运行的程序;

(7).ENV:为容器中安装的程序更新PATH环境变量.

下面的Dockerfile用于在容器中可以直接编译执行https://GitHub.com/fengbinGChun/Messy_Test:

FROM ubuntu:16.04LABEL maintainer="FengBingchun fengbingchun@163.com" \    version="1.0" \   description="dockerfile test"RUN dep_items='git cmake g++-5' \  && apt-get update \  && apt-get install -y $dep_items \   && ln -s /usr/bin/g++-5 /usr/bin/g++ \  && rm -rf /var/lib/apt/lists/*

构建镜像,执行以下命令后会成功生成名字为fengbingchun/ubuntu:16.04的镜像:

docker build -t fengbingchun/ubuntu:16.04 .

通过挂载主机目录,新建容器test,执行以下命令:

docker run -it -P --name test --mount type=bind,source=e:\GitCode\docker,target=/home/fengbingchun fengbingchun/ubuntu:16.04 /bin/bash

然后,在容器内,cd到/home/fengbingchun目录下,clone Messy_Test执行以下命令:

git clone Https://github.com/fengbingchun/Messy_Test

然后cd到cd Messy_Test/prj/linux_cmake_CppBaseTest目录下,依次执行如下命令

./build.sh./build/CppBaseTest

执行结果如下图所示,说明通过Dockerfile构建的镜像可以正常编译执行Messy_Test:

使用Dockerfile怎么构建一个Docker镜像

保存镜像fengbingchun/ubuntu:16.04到tar包,执行以下命令:

docker save -o ubuntu_16.04.tar fengbingchun/ubuntu:16.04

将ubuntu_16.04.tar拷贝到ubuntu系统下,从tar包加载一个镜像,执行以下命令:

docker load -i ubuntu_16.04.tar

然后执行windows上类似的操作,在新创建的容器test中编译、执行Messy_Test,依次执行如下命令:

docker run -it -P --name test --mount type=bind,source=/home/xxxx/Disk/GitHub/docker,target=/home/fengbingchun fengbingchun/ubuntu:16.04 /bin/bashcd /home/fengbingchun/git clone https://github.com/fengbingchun/Messy_Testcd Messy_Test/prj/linux_cmake_CppBaseTest/./build.sh./build/CppBaseTest

执行结果如下图所示:说明在Windows上生成的镜像打包后,在Ubuntu上load后可正常使用.

使用Dockerfile怎么构建一个Docker镜像

关于使用Dockerfile怎么构建一个Docker镜像就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 使用Dockerfile怎么构建一个Docker镜像

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

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

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

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

下载Word文档
猜你喜欢
  • 使用Dockerfile怎么构建一个Docker镜像
    这篇文章将为大家详细讲解有关使用Dockerfile怎么构建一个Docker镜像,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Dockerfile是一个文本文件,其内包含了一条条的指令(In...
    99+
    2023-06-06
  • 使用Dockerfile如何构建一个docker镜像
    这篇文章给大家介绍使用Dockerfile如何构建一个docker镜像,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。使用Dockerfile构建docker镜像1、什么是Dockerfile?   ...
    99+
    2023-06-14
  • 使用Dockerfile构建docker镜像
    目录使用Dockerfile构建docker镜像 1、什么是Dockerfile?2、执行一个Dockerfile,构建镜像   今天我们看看Dockerfile...
    99+
    2024-04-02
  • Dockerfile构建一个PythonFlask镜像
    目录1.Python 程序2.Dockerfile3.开始构建一个小的demo1.Python 程序 from flask import Flask app = Flask(__n...
    99+
    2024-04-02
  • docker如何使用Dockerfile构建镜像
    本文小编为大家详细介绍“docker如何使用Dockerfile构建镜像”,内容详细,步骤清晰,细节处理妥当,希望这篇“docker如何使用Dockerfile构建镜像”文章能帮助大家解决疑惑,下面跟着小编...
    99+
    2024-04-02
  • docker怎么通过Dockerfile构建mysql镜像
    本篇内容主要讲解“docker怎么通过Dockerfile构建mysql镜像”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker怎么通过Dockerfile构建mysql镜像”吧!构建Do...
    99+
    2023-06-30
  • 怎么使用dockerfile构建nginx镜像
    今天小编给大家分享一下怎么使用dockerfile构建nginx镜像的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下...
    99+
    2024-04-02
  • 怎么在python中利用Dockerfile构建一个镜像
    今天就跟大家聊聊有关怎么在python中利用Dockerfile构建一个镜像,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python的数据类型有哪些python的数据类型:1. 数...
    99+
    2023-06-14
  • Dockerfile怎么构建镜像
    这篇文章主要介绍“Dockerfile怎么构建镜像”,在日常操作中,相信很多人在Dockerfile怎么构建镜像问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Dockerfile怎么构建镜像”的疑惑有所帮助!...
    99+
    2023-06-27
  • 如何用dockerfile指令构建docker镜像
    本篇内容主要讲解“如何用dockerfile指令构建docker镜像”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用dockerfile指令构建docker镜像”吧!初识Dockerfile...
    99+
    2023-06-30
  • 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镜像构建中docker commit怎么使用
    这篇“Docker镜像构建中docker commit怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Doc...
    99+
    2023-06-29
  • 怎么用Dockerfile定义一个镜像
    本篇内容介绍了“怎么用Dockerfile定义一个镜像”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!容器准备工作安装Docker,版本为1....
    99+
    2023-06-19
  • docker通过Dockerfile构建mysql镜像的方法
    构建Dockerfile ,路径 /docker/mysql FROM hub.c.163.com/library/mysql:5.7 #作者信息 MAINTAINER hu "**...
    99+
    2024-04-02
  • dockerfile指令构建docker镜像的示例代码
    目录初识Dockerfile编写一个自己的docker 镜像:DockerFiledocker build . 命令查看镜像是如何生成的初识Dockerfile Dockerfile...
    99+
    2024-04-02
  • docker怎么构建centos镜像
    要构建一个CentOS镜像,可以按照以下步骤操作: 首先,需要在本地安装Docker。可以在官方网站上下载适合您操作系统的Doc...
    99+
    2023-10-27
    docker centos
  • Dockerfile自定义镜像 - 基于 java:8-alpine 镜像,将一个Java项目构建为镜像
      目录   一、前置知识 1.镜像结构 2.Dockerfile是什么 二、自定义一个 java 项目镜像 1.创建一个空目录,在这个空目录中创建一个文件,命名为 DockerFile,最后将 java 项目打包成 jar 包,放到这个目...
    99+
    2023-09-23
    Docker
  • jenkins怎么构建docker镜像
    Jenkins是一个持续集成和持续交付(CI/CD)工具,可以用来自动化构建、测试和部署应用程序。要在Jenkins中构建Docke...
    99+
    2023-10-27
    jenkins docker
  • 怎么创建一个新的Docker镜像
    本篇内容介绍了“怎么创建一个新的Docker镜像”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们在使用Dockerfile构建docker...
    99+
    2023-06-04
  • 怎么使用Google ContainerTools容器构建docker镜像
    本篇内容介绍了“怎么使用Google ContainerTools容器构建docker镜像”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!插件...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作