首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏亨利笔记

    Docker镜像详谈(4): 镜像的json文件

    Docker 镜像技术提供了一套标准,创造性地使用 Dockerfile 来规范化 Docker 化应用的制作流程,结果产生的 Docker 镜像便于传输与管理,最终通过 Docker 镜像运行 Docker 容器,完成容器化应用的交付。 /run.sh"]:CMD 命令在构建 Docker 镜像时,记录启动 Docker 容器的执行命令入口,一般用以指定用户的应用程序;这部分配置信息更不应该以静态文件的形式被打入 Docker 的镜像层文件 Dockerfile 中以上举例的4类命令,通过分析,我们得出初步的结论:Dockerfile的部分命令各自包含一类动态信息,这类信息不属于 Docker 镜像层中的文件内容。 上图中,我们展现了 ubuntu:14.04 镜像4镜像层的具体情况,特别分析了镜像 8251da35e7a7 和 e5855facec0b。

    2.5K20发布于 2019-04-12
  • 来自专栏盛开在夏天的太阳

    4. 镜像的原理

    镜像是什么? 2. Docker镜像的特点 3. 容器和镜像的转换----Docker镜像的 Commit操作 一. 镜像是什么?    Union文件系统是Docker镜像的基础, 镜像可以通过分层来进行集成, 基于基础镜像(没有父镜像), 可以制作各种具体的应用镜像. 那为什么tomcat镜像要比centos的镜像大呢? 原因是tomcat不是一个单独的镜像, 它包含了运行环境. 也就是说, tomcat镜像里面, 不仅仅是有tomcat镜像包, 它还包含了tomcat的运行环境. 所以, 可以看到tomcat下载的时候, 他会下载很多其他的镜像. 这就是镜像的分层 4. 容器和镜像的转换----Docker镜像的Commit操作 镜像运行, 生成容器, 容器运行生成镜像 容器, 一定是工作在前台的守护进程**** 什么意思呢?

    1.7K30发布于 2020-09-27
  • 来自专栏迁移内容

    Docker 应用实践-镜像

    本品内容主要介绍:关于 Docker 镜像、Docker 命令应用实践 ---- 文章目录 一、关于 Docker 镜像 1、对于 Docker 镜像的理解 2、Docker 镜像的多层结构 二、Docker 命令应用实践 1、登陆镜像仓库(镜像仓库) 2、Docker search 命令(镜像仓库) 3、Docker pull 命令(镜像仓库) 4、Docker images 命令( 其中,多个容器共享镜像的结构如下所示: 总的来说:镜像由多个层组成,每层叠加之后,从外部看来就如一个独立的对象。镜像内部是一个精简的操作系统(OS),同时还包含应用运行所必须的文件和依赖包。 ---- 二、Docker 命令应用实践 1、登陆镜像仓库(镜像仓库) 我们在使用 Docker 拉取镜像前,往往需要登陆到一个 Docke r镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker # 实例 $ docker pull ubuntu:18.04 4、Docker images 命令(本地镜像) docker images:列出本地镜像

    88310编辑于 2023-02-03
  • 来自专栏实战docker

    制作JavaCV应用依赖的基础Docker镜像(CentOS7+JDK8+OpenCV4)

    本篇概览 在《三分钟:极速体验JAVA版目标检测(YOLO4)》一文中,咱们体验了YOLO4强大的物体识别能力,如下图: 如果您已看过《三分钟:极速体验JAVA版目标检测(YOLO4)》,甚至动手实际操作过 docker镜像,所以咱们的目标被设定为下面三项: 开发出java版的物体识别应用 将此应用制作成docker镜像 在docker环境运行这个应用 基于上述目标,我们可以确定以下操作步骤: 准备好docker 基础镜像 开发java应用 将java应用打包成package文件,集成到基础镜像中,得到最终的java应用镜像 整个流程如下图所示: 本篇的目标就是上述第一步:准备好docker基础镜像 制作基础镜像 如果您有过制作java应用镜像的经历,一定会产生疑问:如下图红框所示,一般不都是把OpenJDK的官方镜像作为基础镜像吗? 至此,聪明的您对接下来要做的事情应该很清楚了:编写Dockerfile文件用来制作镜像,这个镜像中要有CentOS7 + JDK1.8 + OpenCV4 分两步走 我打算先做一个CentOS7 + JDK8

    1.3K30编辑于 2021-12-07
  • 来自专栏区块链入门

    【实践】4.DOCKER之使用镜像

    cf693ec9b5c7 3 weeks ago 105.1 MB nginx latest e43d811ce2f4 Deleted: sha256:1333ecc582459bac54e1437335c0816bc17634e131ea0cc48daa27d32c75eab3 Deleted: sha256:4fc455b921edf9c4aea207c51ab39b10b06540c8b4825ba57b3feed1668fa7c7 IMAGE ID CREATED SIZE node slim sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228 6e0c4c8e3913 3 weeks ago 214 MB $ docker image rm node@sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228 Untagged: node@sha256:b4f0e0bdeb578043c1ea6862f0d40cc4afe32a4a582f3be235a3b164422be228 Untagged 和 Deleted

    1.2K20发布于 2021-05-24
  • 来自专栏全栈程序员必看

    OpenBMC开发4:启动编译的镜像

    2 运行镜像 2.1 本地端口映射启动 apt安装或者下载源码安装qemu启动镜像:进入到build目录,执行如下命令,使用映射本地端口方式启动bmc(访问bmc的ip地127.0.0.1) (该方式可以指定bmc的ip地址,请参考:qemu网络通信),启动镜像后需要进入bmc配置IP地址。 ##安装网桥相关,已安装直接启动镜像即可 apt-get install libvirt libvirt-bin bridge-utils uml-utilities qemu-system-common 登录BMC:用户名:root 密码:0penBmc (数字零) 结束qemu:Ctrl + a 再按x 4 访问BMC管理页面 打开浏览器输入如下地址:(如果以网桥方式启动,进入bmc系统后输入udhcp (phosphor-webui软件包社区也已经停止了维护和更新) 2、添加方式无外乎是给变量添加值,以添加需要的软件包到镜像,更多请参考:配置文件介绍、应用软件管理。

    3.7K22编辑于 2022-09-05
  • 来自专栏全栈程序员必看

    树莓派4b 镜像_用树莓派4b构建深度学习应用(一)硬件篇「建议收藏」

    读卡器(必备) 烧写镜像或是读写配置文件都需要用到,SD卡套或usb读卡器都行,笔记本的话用卡套方便些。 如果要跑工业CV应用,可以选用 IMX477R 高清摄像头配相应的长焦和微距镜头。 虽然树莓派4b的运行速度是3b的3倍以上,但跑AI推理还是无法达到实时(实测跑yolo v4s,0.3fps),但是透过单板计算机进行AIoT的应用促进了边缘运算技术的发展,若单板计算机要在神经网络运算上获得较佳的运算效能 树莓派 4G模块(可选) 在户外的车载项目或AIoT应用中,4G模块可以提供无线的远程连接。可以提供云端推理或是传感器数据云端存储,实现4G高速上网,无线通信,打电话,发短信,全球定位等功能。 # 硬件清单 规格 1 树莓派4b 4gb,8gb 2 microSD卡 64gb 3 读卡器 卡套 或 usb 4 摄像头 CSI 接口 5 散热外壳 乌金铠甲 6 充电器 5v 3A 7 无线键盘鼠标

    2.7K10编辑于 2022-08-23
  • 来自专栏从零学习云计算

    Docker学习记录(4)——docker pull默认从本地镜像仓库拉取镜像

    主机操作系统为Centos7.3,内网环境下使用docker pull,直接从本地镜像仓库下载镜像。 本地镜像仓库的搭建方法多样,这里不做记录。 我的本地镜像仓库的地址为master.example.com:5000。 配置docker的启动参数。 执行: # systemctl status docker ? 我的docker本地镜像仓库中有tomcat:8.5.16。内网环境下测试执行: # docker pull tomcat:8.5.16 ? 可以看出,这里在执行docker pull的时候不需要带上本地镜像仓库的地址,直接会自动从本地镜像仓库拉取。

    6.6K00发布于 2017-12-28
  • 来自专栏鸿蒙开发笔记

    稀疏镜像在OpenHarmony上的应用

    二、稀疏镜像原理1、稀疏镜像的概念原始镜像:即raw image,完整的ext4分区镜像,包含很多全零的无效填充区稀疏镜像:即sparse image,将raw ext4进行稀疏描述,因此尺寸比较小,制作目录有多少文件就计算多少 如果读到数据是0xCAC1意味着后面是本身的raw_data,如果是0xCAC3,则后面num为0,接着再0xCAC2意味着后面填充4byte的内容。 (3)编译后的镜像对比编译出的镜像格式为sparse格式,镜像大小相比raw格式明显变小。(4)烧录稀疏镜像烧录稀疏镜像方法和烧录原始镜像方法一致。 revision of the file format */ uint32_t blk_sz; /* block size in bytes, must be a multiple of 4 本文介绍了OpenHarmony系统中实现稀疏镜像升级的方法,理解稀疏镜像原理及稀疏镜像还原方法可以快速在自己的系统中应用稀疏镜像升级,提高系统升级速度。

    32300编辑于 2025-04-28
  • 来自专栏云云众生s

    Dive:查看 Docker 镜像内容的应用

    为了做到这一点,你需要了解诸如层、层的详细信息、每个层的内容和镜像的详细信息等方面的信息。 听起来是不是很费力呢? 有一个叫做 Dive 的应用程序可以帮助你,实际上这个过程非常简单。 Dive包括以下功能: 镜像内容分解 显示每个层的内容详细信息 显示正在检查的镜像的总大小 显示镜像中的浪费空间(越小越好) 显示镜像的效率得分(越高越好) 这些都是非常重要的信息,特别是对于试图创建尽可能高效和安全的 你肯定不想在镜像的层中包含不必要的应用程序,而 Dive 正是一个很好的工具,可以准确地了解其中的内容。 让我们开始安装 Dive 吧。 /dive_${DIVE_VERSION}_linux_amd64.deb 安装完成后,你就可以测试该应用程序了。 希望这个命令行应用程序能帮助你构建更高效和安全的镜像(或者至少了解构成你使用的镜像的确切内容)。

    98710编辑于 2024-03-28
  • 【将Java应用打包为Docker镜像

    将Java应用打包为Docker镜像的步骤 准备Java应用 确保Java应用已编译为可执行的JAR或WAR文件。 以下是基于不同场景的配置示例: 案例1:Spring Boot JAR应用 # 使用官方OpenJDK镜像作为基础 FROM eclipse-temurin:17-jdk-jammy # 设置工作目录 Tomcat COPY target/your-webapp.war /usr/local/tomcat/webapps/ROOT.war # 暴露Tomcat端口 EXPOSE 8080 构建和运行镜像 构建镜像 在Dockerfile所在目录执行: docker build -t java-image-name . 运行容器 docker run -p 8080:8080 -d java-image-name -p:端口映射(主机端口:容器端口) -d:后台运行 优化建议 多阶段构建 减少最终镜像大小,丢弃构建阶段的依赖

    49310编辑于 2025-12-17
  • 来自专栏个人开发

    Linux下docker制作springboot应用镜像

    等待一段时间后,打包镜像成功,如下图: ? 执行docker images | grep jinjunzhu ? 可以看到打好的镜像了,但是镜像文件太大了,原因是jdk的镜像太大。 如下图:这一次的镜像小了很多 ? 启动刚刚创建的镜像: docker run -itd --name springboot-rabbitmq -p 8082:8082 d170dea75f29 可以看到输出: b8a65d2eb6c8ff78c49b4aefb9cd453e03d0df80570d3534f275816f84706220 查看启动日志: docker logs b8a65d2eb6c8ff78c49b4aefb9cd453e03d0df80570d3534f275816f84706220 在浏览器输入:http://192.168.59.131 网上找到了答案,应用对docker开启了防火墙,执行如下命令,对docker0开放5672端口,再次telnet就可以通了 firewall-cmd --permanent --zone=trusted

    4.9K30发布于 2020-08-20
  • 来自专栏Helloted

    Runloop(4):应用

    4、事件响应 苹果注册了一个 Source1 (基于 mach port 的) 用来接收系统事件,其回调函数为 __IOHIDEventSystemClientQueueCallback()。 随后苹果注册的那个 Source1 就会触发回调,并调用 _UIApplicationHandleEventQueue() 进行应用内部的分发。 实际上,start 这个函数的内部会会获取 CurrentRunLoop,然后在其中的 DefaultMode 添加了4个 Source0 (即需要手动触发的Source)。

    53120编辑于 2022-06-07
  • 来自专栏用户8644135的专栏

    定制Linux镜像批量部署初始应用

    skipx logging --level=info rootpw --iscrypted $6$Mq/o.xHPh3L2wpJj$1IinnbXglCDM.ZyNVWocMHEsIlRc.oyU4In .1GTrRESIfa2Wb4IAVo8Xma3YHCirHXSyyM.Zt1VzXZyKCWAm00 authconfig --enableshadow --passalgo=sha512 #经过加密的密码 device=eth1 --onboot=on bootloader --location=mbr zerombr clearpart --all part /boot --fstype="ext4" 把镜像重新封装到/root/test.iso,test.iso即为制作好的镜像,上边的参数不要修改,除非很清楚在干什么 主要有几个注意点: 1、光盘安装的时候,光盘的临时目录为/mnt/source/( 解决方法: 重置repodata,然后重新生成镜像 rm -f repodata/*.gz repodata/*.*.bz2 repodata/*.repomd.xml declare -x discinfo

    1.6K20发布于 2021-06-17
  • 来自专栏devops探索

    dockerfile构建镜像报错IPv4 forwarding is disabled

    报错记录: Step 4/9 : RUN pip3 install -r /var/www/codo-admin/doc/requirements.txt —> [Warning] IPv4 forwarding cryptography (from -r /var/www/codo-admin/doc/requirements.txt (line 1)) WARNING: Retrying (Retry(total=4, www/codo-admin/doc/requirements.txt (line 1)) 这个是由于本地没有开启路由转发的缘故 解决办法: vim /etc/sysctl.conf net.ipv4.

    1.1K10发布于 2020-07-31
  • 来自专栏大数据解决方案

    快速入门Docker(4)——commit镜像|容器数据卷

    看完掌握以下内容: commit 镜像 原理 了解什么是容器数据卷 如何使用数据卷 附带 MySQL 安装实战 了解具名和匿名挂载 ? 一、commit 镜像 docker commit 提交容器成为一个新的副本 # 命令和git 原理类似 docker commit -m="提交的描述信息" -a="作者" 容器Id 目标镜像名 /bin/bash root@e0ecc9f999de:/usr/local/tomcat# #发现默认的tomcat是 没有webapps应用的,镜像的原因,阿里云官方镜像默认webapp下是没有文件的 ,我们以后就是使用我们修改过的镜像即 #添加 [root@192 ~]# docker commit -m="添加了webapps中的内容" -a="大数据老哥" 3992bb6e4b6c tomcat02 #具名挂载 [root@192 data]# docker run -d -P --name nginx02 -v juming_nginx:/etc/nginx nginx bd6c725b4a822d404ad5021dc4b446b0f742520854644d82c841f37e58e92503

    1.5K20发布于 2021-02-04
  • 来自专栏全栈测试技术

    Docker笔记4 | 镜像的获取、列出和删除

    Docker 镜像仓库地址,因此将会从 Docker Hub 获取镜像镜像名称是ubuntu:18.04 ,将会获取官方镜像 library/ubuntu 仓库中标签为 18.04 的镜像。 中间层镜像;docker image ls列表中只会显示顶层镜像;docker image ls -a显示包括中间层镜像在内的所有镜像;2.5 列出部分镜像docker image ls其实就比如linux 3 删除镜像3.1 docker image rm删除本地镜像,使用docker image rm;格式为: docker image rm [选项] <镜像1> [<镜像2> ...]3.2 可以使用 3941d3b032a8168d53508410a67baad120a563df67a7959565a30a1cb2114731Deleted: sha256:b7e0fa7bfe7f9796f1268cca2e65a8bfb1e010277652cee9a9c9d077a83db3c4noamanelson 3941d3b032a8168d53508410a67baad120a563df67a7959565a30a1cb2114731Deleted: sha256:b7e0fa7bfe7f9796f1268cca2e65a8bfb1e010277652cee9a9c9d077a83db3c4noamanelson

    1.5K40编辑于 2023-05-08
  • 关于使用国内镜像安装 MathlibLean4思考

    之前按照https://zhuanlan.zhihu.com/p/680690436文章安装lean4非常方便,但是现在发现这个文章已经失效了,而且那个glean看起来就是个鸡肋,怎么都是安装不了,里面安装方法还有个问题就是上海交大的那个源地址变了 elan-init.exe下载后会有个powershell脚本进行安装,如果选择default安装,可以看到在C:\Users\用户名\.elan生成一些文件,而且打开查看有部分文件明显是lean4里面的东西 不难想到这个就是为了安装lean4而已,其实你可以不用elan-init.exe安装 可见上面2个exe都是辅助工具,其实你懂背后安装原理只是为了照顾初学者让他们更快安装上lean4 可见其实都是可以手动下载文件进行解决 ,希望能帮到安装lean4的困扰的童鞋。

    31510编辑于 2025-07-22
  • 来自专栏用户9257747的专栏

    4 个超实用的 Docker 镜像构建技巧

    其中有一项工作是为不同的工具来构建 Docker 镜像,让他们都运行在 Docker 中(实际上,是兼容 Docker image 的其他 sandbox 系统,没有直接用 Docker)。 Docker 运行的时候,从最下层的文件系统开始,merge 两层,得到新的 fs 然后再 merge 上一层,然后再 merge 最上一层,最后得到最终的 directory,然后用 chroot[4] 然后写应用的库依赖,比如 pip install,最后 copy 应用。 比如,这是安装一个 golang 应用 pup 的代码: FROM golang as build ENV CGO_ENABLED 0 RUN go install github.com/ericchiang 这种方法特别适合一些静态编译的编程语言,比如 golang 和 rust. 4技巧4:检查构建产物 这是最有用的一个技巧了。

    93930编辑于 2023-02-23
  • 来自专栏陈琛的Redis文章

    Docker系列——4.docker中运行nginx镜像

    我们今天学习了一下dokcer的简单应用。 由于我之前有运行镜像,且服务器上运行的镜像太多,我们先使用如下命令停止容器并删除容器,由于是运维开给我们的测试服务器,所以可以随便玩耍。 ,采用docker images命令即可,如图,我们可以看到有很多,但是没有名称为nginx的镜像镜像和git版本控制原理是类似的,镜像采用tag来区分镜像的不同的版本. ? 接下来我们先跑一个镜像,名称为nginx。 最后是镜像的名称nginx。我们可以看到在该行下面由一行字符串,这就是返回的容器ID。 注意:如果是第一次运行,我们本地没有该镜像,他会从远端的镜像仓库里面拉取该镜像。 ? 我们看到答案是否定的,他还是原来的界面,这个说明我们之前在容器内部的修改是暂时的,而外部的镜像image并没有修改,所以当我们停止了容器,再启动新的容器时,新容器还是用的外面的镜像image,所以还是没有的界面

    1.9K20发布于 2020-06-12
领券