Dockerfile

Docker镜像原理:

  • docker镜像是由特殊的文件系统叠加而成
  • 最低端的是boofs,并使用宿主机的bootfs
  • 第二层是root文件系统rootfs,称为base image
  • 让再往上叠加其他的镜像文件
  • 统一文件系统(Union FileSystem)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角这样就隐藏了多层的存在,在用户的角度看来,只存在个文件系统
  • 一个镜像可以放在另一个镜像的上面。位于下面的镜像称为父镜像,最底部的镜像成为基础镜像。
  • 当从一个镜像启动容器时,Docker会在最顶层加载一个读写文件系统作为容器

操作系统的组成部分:

  • 进程调度子系统
  • 进程通信子系统
  • 内存管理子系统
  • 设备管理子系统
  • 文件管理子系统
  • 网络通信子系统
  • 作业控制子系统

镜像制作:

容器转为镜像

docker commit 容器id 镜像名称:版本号  

docker save -o 压缩文件名称 镜像名称:版本号   #将镜像打包成压缩文件,可以发给测试人

docker load -i 压缩文件名称  #测试人解压文件

注意:如果是镜像卷的方式挂载的文件,则打包镜像压缩后镜像中挂载失效,但是文件是存在的

Dockerfile概念

  • Dockerfile 是一个文本文件
  • 包含了一条条的指令
  • 每一条指令构建一层,基于基础镜像,最终构建出一个新的镜像
  • 对于开发人员:可以为开发团队提供一个完全一致的开发环境,构建一个新的镜像开始工作了
  • 对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件
  • 对于运维人员:在部署时,可以实现应用的无缝移植

举例

FROM centos:7
LABEL maintainer blackholll@163.com
# 安装基础包
RUN yum install -y mysql-devel gcc gcc-devel python3 python3-pip python3-dev python3-devel mysql-devel zlib-devel openssl-devel openssl-devel git
RUN mkdir -p /var/log/loonflow
WORKDIR /opt
# RUN git clone https://github.com/blackholll/loonflow.git
RUN git clone https://gitee.com/shihowcom/loonflow_ro
WORKDIR /opt/loonflow_ro
RUN git checkout r1.0.6
WORKDIR /opt
RUN mv loonflow_ro loonflow
WORKDIR /opt/loonflow/requirements
RUN pip3 install -r pro.txt -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com
# 复制config.py文件
WORKDIR /opt/loonflow/settings
RUN cp pro.py.simple config.py
# 修改redis配置
RUN sed -i "s/REDIS_HOST = '127.0.0.1'/REDIS_HOST = 'loonflow-redis'/g" /opt/loonflow/settings/config.py
RUN sed -i "s/REDIS_PASSWORD = ''/REDIS_PASSWORD = 'loonflow123'/g" /opt/loonflow/settings/config.py

# 修改数据库配置
RUN sed -i "s/'NAME': 'loonflownew'/'NAME': 'loonflow'/g" /opt/loonflow/settings/config.py
RUN sed -i "s/'USER': 'loonflownew'/'USER': 'loonflow'/g" /opt/loonflow/settings/config.py
RUN sed -i "s/'PASSWORD': '123456'/'PASSWORD': 'loonflow123,.Ly'/g" /opt/loonflow/settings/config.py
RUN sed -i "s/'HOST': '127.0.0.1'/'HOST': 'loonflow-db'/g" /opt/loonflow/settings/config.py

# 修改日志路径
RUN sed -i "/HOMEPATH = os.environ/c\    HOMEPATH = '/var/log/loonflow'" /opt/loonflow/settings/common.py

WORKDIR /opt/loonflow
 

 

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

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

相关文章

CVPR 2023 | 南大王利民团队提出LinK:用线性核实现3D激光雷达感知任务中的large kernel...

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【Transformer】微信交流群 【CVPR 2023】LinK:用线性核实现3D激光雷达感知任务中的large kernel 本文介绍我们媒体计算研究组(MCG)在3D激…

Arm推出新一代高性能CPU内核Cortex-X4以及GPU Immortalis-720 GPU

每年差不多这个时候,智能手机芯片背后的大脑 Arm 都会推出高通、联发科等公司用于下一代SoC的构建模块。在 2023 年 Arm 技术日期间,Arm 推出了一系列涵盖高性能和低功耗用例的新 CPU 内核,以及其第五代 GPU,并提供光线追踪图形支…

Autohotkey按键映射

文章目录 功能前缀鼠标按键键盘按键虚拟键码和扫描码实操 功能前缀 尽管在初步使用中已经对常见热键做了说明&#xff0c;但为了本文的完整性&#xff0c;这里还是重新表述一下 #!^<^>!winAltCtrlShiftAlt Gr 其中&#xff0c;<, >为修饰符&#xff0c;用于区分…

4.1 文件操作(File类)

ava中&#xff0c;对文件操作的常用类是java.io.File。这个类提供了许多方法来操作文件和目录。本章节我们将学习关于File类的重要方法以及如何使用它们来操作文件。 4.1.1 创建File对象 创建一个File对象不会在磁盘上创建一个新文件。File对象只是一个在Java代码中表示文件或…

【微信小程序】小程序自定义随机分享图片

&#x1f349;&#x1f349;&#x1f349;大家好&#xff0c;我是痴心阿文&#xff0c;你们的学友哥 。 本章内容&#xff1a;微信小程序分享功能&#xff0c;支持自定义分享随机图片。看完需要花费5分钟&#xff0c;效果图如下&#xff1a; &#x1f349;&#x1f349;&#x…

小程序设置按钮分享功能

一般小程序分享可以通过右上角的分享功能进行分享&#xff0c;如果想要在页面内进行按钮设置。可以这样子设置&#xff1a; 效果图&#xff1a; WXML中&#xff1a; 定义button按钮来触发分享事件&#xff0c;在button标签上写上 open-typeshare’属性 <button open-type…

uniapp中的分享功能实现(APP,小程序,公众号)

uniapp中的分享功能实现(APP,小程序&#xff0c;公众号) 1.APP端的分享 app端的分享可以直接使用uniapp封装的方法uni.share&#xff0c;uni-app的App引擎已经封装了微信、QQ、微博的分享SDK&#xff0c;开发者可以直接调用相关功能。可以分享到微信、QQ、微博&#xff0c;每个…

微信小程序分享功能开发及调试方法

首先说一下使用方法如下&#xff0c;Button组件设置open-type"share"即可触发onShareAppMessage完成分享功能 <button class"toudi" open-type"share" catchtap"toujianli" data-qyuid{{[item.uid,item.id,3,item.provinceid,item…

微信小程序 分享功能

1、分享 可以分享小程序的任何一个页面给好友或群聊。注意是分享给好友或群聊&#xff0c;并没有分享到朋友圈。一方面微信在尝试流量分发方式&#xff0c;但同时又不愿意开放最大的流量入口。 开发文档&#xff1a;https://mp.weixin.qq.com/debug/wxadoc/dev/api/share.html?…

小程序一键分享html5,H5手机网站封装微信小程序并实现分享功能的教程

通过本文教程可以实现将H5手机网站直接封装成微信小程序&#xff0c;并且支持分享功能。但不支持微信支付功能。 说明&#xff1a;手机站域名必须开启https模式 第一步&#xff1a; 微信开发者工具中创建小程序&#xff0c;填写你自己的小程序AppID 第二步&#xff1a;修改app.…

uni-app 微信小程序 分享功能 传参 接收 与 调试

uni-app 微信小程序 功能 传参 接收 与 调试 当使用微信小程序进行分享好友功能时&#xff0c;怎样能够联调&#xff0c;查看是否接收到参数&#xff0c;并在被分享人点进来的时候逻辑处理是否正确。 1、分享功能实现 分享给朋友 有两种方式&#xff1a; 第一种就是 微信右上…

Python:Python编程:从入门到实践__超清版:Python标准库

Python标准库 1. OrderedDict2. threading三级目录 Python标准库是一组模块&#xff0c;按照的Python都包含了它&#xff0c;我们只需要在程序开头包含一条简单的 import 语句&#xff0c;就可以使用标准库中的任何函数和类。 下面我介绍几个重点 标准库 os : 提供一些与操作系…

JointJS+ v3.7 Crack

JointJS v3.7 改进了对 SVG 上下文中的外部对象的支持。 2023 年 5 月 30 日 - 16:00 新版本 特征 改进了对外部对象 (HTML) 的支持- 外部对象已成为 Web 开发的标准&#xff0c;JointJS 现在已经在 SVG 上下文中引入了对外部对象的全面且功能齐全的支持。这意味着您现在可以在…

ElasticSearch安装部署

ElasticSearch安装部署 简介 全文搜索属于最常见的需求&#xff0c;开源的 Elasticsearch &#xff08;以下简称 es&#xff09;是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。 Elasticsearch简称es&…

新版微头像V2.1.8版全套iApp源码

正文: 微头像 v2.1.8版全套iapp源码 1、海量头像精选&#xff0c;千万张找到最适合你的! 2、每日推荐热门头像&#xff0c;涵盖动漫、明星、二次元、可爱、等热门头像。让你瞬间焕发聊天活力! 3、提供多种分类&#xff0c;类别清晰明确&#xff0c;快速找到自己的爱好。让你…

怎样关闭qq位置定位服务器,手机qq怎么关闭定位

设置方法&#xff1a;首先打开手机QQ&#xff0c;点击“动态”——“附近”&#xff0c;点击“附近的人”右侧的漏斗图标&#xff0c;点击“清除位置信息并退出”即可完成操作。 QQ使用技巧&#xff1a;1、手机QQ可以关闭看点功能&#xff0c;首先打开手机QQ客户端&#xff0c;…

【Pytorch】DCGAN实战(三):二次元动漫头像生成

文章目录 1.实现效果2.环境配置2.1Python2.2Pytorch、CUDA2.3Python IDE 3.具体实现3.1数据预处理&#xff08;data.py&#xff09;&#xff08;1&#xff09;导入包&#xff08;2&#xff09;定义数据类 3.2模型Generator&#xff0c;Discriminator&#xff0c;权重初始化&…

【Pytorch学习】复现DCGAN训练生成动漫头像

先看一下结果&#xff1a; 1&#xff0c;环境安装指令 conda create -n pytorch python3.7 activate pytorch conda install pytorch torchvision torchaudio cudatoolkit11.3 -c pytorch pip install matplotlib pip install IPython pip install opencv-python 2&#xff0…

利用python+百度智能云为人物头像动漫化(附API代码及SDK代码)

文章目录 前言1.2、打开第一个搜索结果1.3、点击立即使用1.4、创建应用1.5、获取APPID等参数 二、API与SDK的使用1.API代码2.SDK使用2.1.首先下载python 的SDK&#xff1a;2.2.用编译软件打开aip-python-sdk-4.15.1文件夹并在aip目录下创建py文件2.3.SDK代码 总结 前言 利用py…

java基于ssm的卡通动漫网站

本系统设计为卡通动漫网站系统管理&#xff0c;主要功能是前台展示网站新闻信息&#xff0c;具有分类展示功能及在线留言和对文章的在线评论等功能&#xff0c;网站用户的注册&#xff0c;系统简介等。管理员后台的管理&#xff0c;管理员登录后台后可对现有管理员进行增加删除…