自定义构建docker镜像

news2024/12/23 18:16:07

创建dockerfile

我们新建一个目录docker_test,然后在这个目录下新建一个dockerfile文件,文件内容如下:

FROM centos
VOLUME ["volume01","volume02"]
CMD echo "......end......"
CMD /bin/bash

这些是dockerfile的命令。

执行docker build命令
接着我们执行docker build命令来构建镜像。

docker build -f dockerfile -t mycentos:v1.1 .

-f:指定要使用的Dockerfile路径
-t:镜像的名字及标签,如mycentos是名称,v1.1是tag。
.号是上下文路径,指镜像构建时打包上传到Docker引擎中的文件的目录,这里的.指当前目录。如果未说明最后一个参数,那么默认上下文路径就是 Dockerfile 所在的位置。
注意:这里要确保该目录下除了dockerfile文件,没有其他文件。因为构建会加载当前目录下所有文件,可能会导致磁盘爆满。

执行这个命令后,我们使用docker images就能看到自己构建的镜像了。

# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    feb5d9fea6a5   19 months ago   13.3kB
mycentos      v1.1      128df84dd1ee   19 months ago   231MB

启动docker镜像
然后使用命令启动mycentos镜像:

docker run -it 128df84dd1ee /bin/bash

启动后,我们进入容器可以看到容器目录:
在这里插入图片描述
容器里面中有volume01,volume02这两个目录。这个是我们在dockerfile文件中定义的两个挂载卷。在这里它们是属于容器内部的。我们可以找到它们对应的宿主机的路径。方法如下:
首先退出容器,执行docker ps命令:

# docker ps
CONTAINER ID   IMAGE          COMMAND       CREATED             STATUS             PORTS     NAMES
344be74fdfad   128df84dd1ee   "/bin/bash"   About an hour ago   Up About an hour             charming_mcclintock

然后执行docker inspect命令:

# docker inspect 344be74fdfad

在这里插入图片描述
这里就能看到volume01,volume02对应的宿主机的路径了。由于这里是匿名挂载,所以这里的路径中有一段名称是随机生成的。
当我们在容器中的volume01目录下创建文件时,发现在宿主机的对应目录下也能看到文件。
这样,我们就构建了一个自己的镜像,并且还实现了数据卷的同步。

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

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

相关文章

Vue.js核心概念简介:组件、数据绑定、指令和事件处理

本文介绍了Vue.js的四个核心概念:组件、数据绑定、指令和事件处理。每个概念都通过一个简单的示例进行了详细的解释。通过学习这些概念,您将能够充分利用Vue.js的强大功能,构建高效、灵活的Web应用程序。 1 组件 组件是Vue.js的核心概念之一…

Windows10本地搭建网站教程【内网穿透】

文章目录 概述1. 搭建一个静态Web站点2. 本地浏览测试站点是否正常3. 本地站点发布公网可访问3.1 安装cpolar内网穿透3.2 创建隧道映射公网地址3.3 获取公网URL地址 4. 公网远程访问内网web站点5. 配置固定二级子域名5.1 保留二级子域名5.2 配置二级子域名 6. 测试访问二级子域…

使用edge浏览器,白嫖ChatGPT的保姆级教程来了

前言 嗨,大家好,我是希留,一个被迫致力于全栈开发的老菜鸟。 人工智能大浪潮已经来临,对于ChatGPT,我觉得任何一个玩互联网的人,都应该重视起来,用起来。但是国内使用需要解决科学上网、注册、…

Java基础——TCP通信

(1)TCP协议特点: TCP是一种面向连接,安全,可靠的传输数据的协议传输前,采用“三次握手”方式,点对点通信,是可靠的在连接中可进行大数据量的传输 (2) TCP通…

【软考数据库】第七章 关系数据库

目录 7.1 关系数据库概述 7.2 关系代数 7.3 元组演算与域演算 7.4 查询优化 7.5 关系数据库设计 7.6 模式分解 前言: 笔记来自《文老师软考数据库》教材精讲,精讲视频在b站,某宝都可以找到,个人感觉通俗易懂。 7.1 关系数据…

服务端接口优化方案

一、背景 针对老项目,去年做了许多降本增效的事情,其中发现最多的就是接口耗时过长的问题,就集中搞了一次接口性能优化。本文将给小伙伴们分享一下接口优化的通用方案。 二、接口优化方案总结 1. 批处理 批量思想:批量操作数据…

YOLOv5s GTX 1660 Ti训练时出现,box,obj,cla全是nan的问题,Pytorch和cuda、cudnn版本不对

这里写自定义目录标题 参考资料问题描述当前使用版本尝试解决问题版本(1)尝试解决问题版本(2)CUDA卸载参考CUDA卸载之后发现依然还在,需要把torch卸载掉。 参考资料 1.Github_YOLOv5_nan问题 2.查看CUDA最高可使用版…

PHP+vue基于web的新闻发布投稿系统评论网站

运行环境:phpstudy/wamp/xammp等 开发语言:php 后端框架:Thinkphp5 前端框架:vue.js 服务器:apache 数据库:mysql 数据库工具:Navicat/phpmyadmin 系统包含了二个用户,即管理员和用户&#xff0…

ThingsBoard使用docker compose集群部署的问题以及如何解决问题

1、问题回顾 接着上一节继续讲解,上一节我们把整个服务全部都运行起来了,但是访问页面报错,最后查看的问题是前端的容易里面报错: 然后执行脚本删除所有的容器 2、问题分析 当遇到这个问题的时候,我当时真的不知道如何去解决,然后我又尝试使用官方的镜像来部署,发现官…

Baumer工业相机堡盟工业相机如何联合BGAPISDK和Halcon实现图像的线性灰度变换ScaleImage算法增强(C#)

Baumer工业相机堡盟工业相机如何联合BGAPISDK和Halcon实现图像的线性灰度变换算法增强(C#) Baumer工业相机Baumer工业相机使用图像算法增加图像的技术背景Baumer工业相机通过BGAPI SDK联合Halcon使用线性灰度变换增强算法1.引用合适的类文件2.BGAPI SDK在…

人大金仓亮相国际金融展,打造“金融+产业+生态”创新模式

4月27日,以“荟萃金融科技成果,展现数字金融力量,谱写金融服务中国式现代化新篇章”为主题的2023中国国际金融展圆满落幕。作为已经举办30年的行业盛会,人大金仓再一次重磅亮相,全方位展示国产数据库前沿应用和创新服务…

C/C++开发神器CLion全新发布v2023.1——新软件包管理解决方案

CLion是一款专为开发C及C所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。这种强大的IDE帮助开发人员在Linux、OS X和Windows上来开发C/C,同时它还使用智能编辑器来提高代码质量、自动代码重构并且深度整合CM…

国产仪器 6914CA/6914DA/6914EA/6914CX/6914DX/6914EX数字示波器

6914系列数字示波器将台式示波器的Any Acquire Phosphor技术融入到PXI/PXIe架构中,以模块化的结构形式提供台式示波器的功能和性能。该系列示波器具有6个产品型号,带宽350MHz~1GHz,最高采样率5GSa/s,最大存储深度200Mpts/CH&#…

vue项目将多张图片生成一个gif动图

当前做项目有一个需求是将多张图片生成一个gif动图的形式 类似下面图片几张图片叠加生成一个gif动图 图片涉及工作隐私,就不公开啦 我们要引入一个gif.js的引入包,但是他没有直接引入的方式,只能从官方下载文件包,下载地址&#…

面向航空智能制造的边缘计算光交换技术研究

源自:航空科学技术 作者:赵俊 吴宝锋 徐盛果 孙小菡 摘 要 面向航空智能制造大批量数据采集与传递的实时性要求,提出一种基于异步光分组交换(optical packet switching,OPS)技术的具有多级管理能力的边缘计算系统…

关于千兆和万兆电口模块,你了解多少?

网络技术的不断发展,使得传输速度的要求越来越高。为了满足这种需求,千兆和万兆电口模块逐渐成为了现代网络设备中的重要组成部分。 一、什么是千兆电口模块? 千兆电口模块是一种用于网络设备之间传输数据的光转电模块,它们可以…

谷粒商城二十四Sentinel限流熔断降级

我们在秒杀服务加的以上所有手段都是为了快,除了快之外,我们还需要保证稳定。 我们即使再快也会有一个极限值,现在假设单机下每秒处理一万个单,这已经是超高的处理能力了,秒杀服务上了五台服务器,有三台掉…

【直播预告】“知·道关基 行·筑安全”关基保护线上研讨会将于5月5日、5月9日开启

随着信息化建设的不断发展,网络安全形势日趋严峻,围绕网络空间主导权和控制权的竞争加剧,全球网络安全博弈日趋激烈。 关键信息基础设施是数字经济社会运行的神经中枢,事关国家网络安全和数据安全,日益成为国家网络空…

BetaFlight统一硬件配置文件研读之serial命令

BetaFlight统一硬件配置文件研读之serial命令 1. 源由2. 代码分析3. 实例分析4. 配置情况5. 参考资料 统一硬件配置文件的设计是一种非常好的设计模式,可以将硬件和软件的工作进行解耦。 1. 源由 cli命令中serial是对UART串口的配置,通常情况下BetaFli…

信创赛道全国二等奖!创邻科技国产化解决方案再获佳绩

4月27日,第六届数字中国建设峰会在福建省福州市开幕。本届峰会以“加快数字中国建设,推进中国式现代化”为主题,以宣传贯彻落实《数字中国建设整体布局规划》为主线,集中展示数字中国建设最新成果,分享发展经验&#x…