当前位置: 首页 > news >正文

物流公司网站建设方案快速建站网站

物流公司网站建设方案,快速建站网站,课程设计做淘宝网站的目的,9k9k网页游戏开服表目录 制作容器镜像使用Dockerfile制作镜像准备所需文件构建镜像怎么不使用基础镜像来构建容器镜像 使用容器镜像传递容器镜像 这篇文章讨论一下怎么使用docker制作容器镜像,容器镜像的使用,以及怎么传递容器镜像。 制作容器镜像 docker制作容器镜像推荐…

目录

  • 制作容器镜像
    • 使用Dockerfile制作镜像
      • 准备所需文件
      • 构建镜像
      • 怎么不使用基础镜像来构建容器镜像
  • 使用容器镜像
  • 传递容器镜像

这篇文章讨论一下怎么使用docker制作容器镜像,容器镜像的使用,以及怎么传递容器镜像。

制作容器镜像

docker制作容器镜像推荐的方法就是使用Dockerfile,因为Dockerfile不仅可以方便的重复使用,而且还直观的记录了制作镜像的规则和过程,也方便查问题。

使用Dockerfile制作镜像

准备所需文件

看个简单的示例,比如有这么一个目录结构:
.
├── bin
│ └── main
├── Dockerfile
└── src
│ └── main.cpp

首先main就是用main.cpp生成的可执行程序。

然后看下Dockerfile文件内容:

FROM debianCOPY bin /demo/bin
WORKDIR /demo/bin
RUN chmod 777 ./main
RUN mkdir /demo/dataCMD ./main

解释一下Dockerfile文件中指令的含义:

  • FROM debian:指定基础镜像,之后的指令都是基于这个基础镜像。
  • COPY bin /demo/bin:将上下文目录中的bin目录复制到镜像的/demo/bin目录中。
  • WORKDIR /demo/bin:指定工作目录,之后的指令的当前目录就是这个目录,容器启动时默认当前目录也是这个目录。
  • RUN chmod 777 ./main:在构建镜像时(即docker build时)执行命令。
  • RUN mkdir /demo/data:在构建镜像时(即docker build时)执行命令。
  • CMD ./main:启动容器时(即docker run时)的默认命令,可以在docker run时使用参数覆盖。

其中

RUN chmod 777 ./main
RUN mkdir /demo/data

可以改成一条指令

RUN chmod 777 ./main&& mkdir /demo/data

要不然镜像就会多一层。

构建镜像

文件准备好了,我们在这个目录中执行命令docker build -t demo:v1.0 -f ./Dockerfile .就可以构建出包含前面编译出来的main程序的容器镜像,这个命令中的-t参数表示指定生成的镜像的名字和标签,-f参数表示指定要使用的Dockerfile,后面那个.表示上下文目录为当前目录,就是要打包的目录,Dockerfile中的一些指令比如COPY就会以这个目录为基础,注意上下文目录中尽量不要放镜像内不需要的文件,会影响效率。

构建完成之后使用docker images就可以查看到构建出来的镜像了。

怎么不使用基础镜像来构建容器镜像

前面介绍的Dockerfile中有一条FROM debian指令,是指明基础镜像,意思就是使用一个已经制作好的镜像作为基础镜像。那如果不想使用基础镜像,而是完全自定义,是不是不写这条指令就行了,不是的,因为FROM是Dockerfile的必备指令。

这里想说明一下,很多人说FROM必须是Dockerfile的第一条指令,其实不是,FROM是Dockerfile的必备指令,但FROM并不必须是第一条指令,比如第一条可以是ARG:

ARG base
FROM $base

既然必须指定基础镜像,那怎么不使用基础镜像来构建容器镜像呢,有办法的。虽然FROM指令是必须的,但是Docker中存在一个特殊的基础镜像叫scratch,这个镜像是空的,所以就可以FROM scratch,这个效果也就相当于不使用基础镜像来构建容器镜像了。

但是这样会比较难,首先容器镜像其实可以简单的理解为是一个rootfs文件系统,所以如果使用这种方法构建镜像,由于基础镜像是个空的,就需要我们自己制作一个rootfs文件系统,然后在Dockerfile中使用指令将自己制作的rootfs文件系统放进容器镜像,这种方式可以制作特别轻量级的容器镜像,但是会比较复杂,这篇文章里就不具体展开了。

使用容器镜像

容器镜像制作完成就可以使用了,那怎么使用呢,这个因为场景很多而且复杂,这篇文章不介绍那么多,这里就简单介绍一个比较常用的场景,那就是使用docker run来使用容器镜像启动一个容器,比如使用命令docker run -it --rm --name demo demo:v1.0 /bin/bash以交互的模式启动容器,然后在这个容器中执行所需操作。

传递容器镜像

容器的一大特点(也是特别受欢迎的一点)就是可以保证环境的一致性,这里就要涉及到容器镜像的传递了。

传递镜像主要使用两组命令完成。

方案一:

第一组命令是docker save和docker load,这组命令针对容器镜像,主要用在传递原始镜像的场景。

方案是使用docker save将镜像保存为归档文件,然后将归档文件传递到需要的机器上面,然后使用docker load从归档文件中导入镜像。

命令示例:
docker save -o demo.tar demo:v1.0:将镜像保存为归档文件,-o参数指定保存为的文件,这里就表示保存为当前目录下的demo.tar文件。
docker save -o demo.tar demo1:v1.0 demo2:v1.0 demo2:v2.0:将多个镜像保存为一个归档文件。
docker load -i ./demo.tar:从归档文件中导入镜像,归档文件就是使用docker save生成的文件,-i参数指定输入文件,即从哪个归档文件导入镜像。

方案二:

第二组命令是docker export和docker import,这组命令针对容器,主要用在需要传递容器执行过程中的一些状态的场景。

方案是使用docker export将容器保存为归档文件,然后将归档文件传递到需要的机器上面,然后使用docker import从归档文件中导入镜像。

命令示例:
docker export -o demo.tar CONTAINER:将容器保存为归档文件,CONTAINER可以使用容器id指定,-o参数指定保存为的文件,这里就表示保存为当前目录下的demo.tar文件。
docker import demo.tar demo:v1:使用归档文件创建镜像,归档文件是使用docker export生成的。

区别:

使用docker save和docker load保存的数据会比较完整,会包括镜像历史,使用docker export和docker import不会保存镜像历史,因为是从容器导出为的容器镜像。


文章转载自:
http://dinncodyspareunia.zfyr.cn
http://dinncofdr.zfyr.cn
http://dinncopollinose.zfyr.cn
http://dinncocession.zfyr.cn
http://dinncovacuolar.zfyr.cn
http://dinncoakkra.zfyr.cn
http://dinncocentrad.zfyr.cn
http://dinncomuenster.zfyr.cn
http://dinncopensile.zfyr.cn
http://dinncodoubler.zfyr.cn
http://dinncounarm.zfyr.cn
http://dinncobarony.zfyr.cn
http://dinncozarf.zfyr.cn
http://dinncocrimper.zfyr.cn
http://dinncothawy.zfyr.cn
http://dinncovermin.zfyr.cn
http://dinncocompadre.zfyr.cn
http://dinncomganga.zfyr.cn
http://dinncocinnamyl.zfyr.cn
http://dinncolightwood.zfyr.cn
http://dinncoattending.zfyr.cn
http://dinnconightmare.zfyr.cn
http://dinncovaliantly.zfyr.cn
http://dinncofeedforward.zfyr.cn
http://dinncounbearably.zfyr.cn
http://dinncobaneful.zfyr.cn
http://dinncosomnambulism.zfyr.cn
http://dinncopieceable.zfyr.cn
http://dinncorealisable.zfyr.cn
http://dinncodrinkery.zfyr.cn
http://dinncobantamweight.zfyr.cn
http://dinncoflamy.zfyr.cn
http://dinncoautoff.zfyr.cn
http://dinncocapable.zfyr.cn
http://dinncosynthetise.zfyr.cn
http://dinncofocus.zfyr.cn
http://dinncofloodlit.zfyr.cn
http://dinncosingaradja.zfyr.cn
http://dinncounexpired.zfyr.cn
http://dinnconepman.zfyr.cn
http://dinncostringent.zfyr.cn
http://dinncounionise.zfyr.cn
http://dinncoflotation.zfyr.cn
http://dinncoglenn.zfyr.cn
http://dinncomuckrake.zfyr.cn
http://dinncoimperceptibly.zfyr.cn
http://dinncodilative.zfyr.cn
http://dinncosimultaneous.zfyr.cn
http://dinncoconfidante.zfyr.cn
http://dinncolawrencian.zfyr.cn
http://dinncoorthogonal.zfyr.cn
http://dinncoips.zfyr.cn
http://dinncoliberalism.zfyr.cn
http://dinncometz.zfyr.cn
http://dinncocelt.zfyr.cn
http://dinncoshogunate.zfyr.cn
http://dinncoconfarreation.zfyr.cn
http://dinncophotographic.zfyr.cn
http://dinncoforgive.zfyr.cn
http://dinncocrinolette.zfyr.cn
http://dinncointervention.zfyr.cn
http://dinncofenghua.zfyr.cn
http://dinncoweekday.zfyr.cn
http://dinncotolu.zfyr.cn
http://dinncomisterioso.zfyr.cn
http://dinncodemarcation.zfyr.cn
http://dinncoacetophenetidin.zfyr.cn
http://dinncoophidiarium.zfyr.cn
http://dinncohilarity.zfyr.cn
http://dinncomadrileno.zfyr.cn
http://dinncolithotomize.zfyr.cn
http://dinncobauson.zfyr.cn
http://dinncoadipocellulose.zfyr.cn
http://dinncocrepe.zfyr.cn
http://dinncoflutterboard.zfyr.cn
http://dinncoincontestable.zfyr.cn
http://dinncosubjection.zfyr.cn
http://dinncophyllis.zfyr.cn
http://dinncoblast.zfyr.cn
http://dinncomarsupialization.zfyr.cn
http://dinncoanathematic.zfyr.cn
http://dinncotheatrical.zfyr.cn
http://dinncoallopatrically.zfyr.cn
http://dinncocutwork.zfyr.cn
http://dinncoherniate.zfyr.cn
http://dinncoshahaptian.zfyr.cn
http://dinncorotunda.zfyr.cn
http://dinncokano.zfyr.cn
http://dinncosoignee.zfyr.cn
http://dinncoantidote.zfyr.cn
http://dinncoretardee.zfyr.cn
http://dinncozinnia.zfyr.cn
http://dinnconabber.zfyr.cn
http://dinncoallodiality.zfyr.cn
http://dinncoshelterbelt.zfyr.cn
http://dinncofierifacias.zfyr.cn
http://dinncotermitary.zfyr.cn
http://dinncogiessen.zfyr.cn
http://dinncoambivalence.zfyr.cn
http://dinncoepisternum.zfyr.cn
http://www.dinnco.com/news/100491.html

相关文章:

  • 盘锦网站建设策划抖音引流推广一个30元
  • 网站统计访客数量怎么做五个成功品牌推广案例
  • 前端制作个人网站东莞今天的最新通知
  • 网站模板metinfo百度统计手机app
  • 网站建设哪个好一些个人免费域名注册网站
  • 怎么改一个网站的关键词密度新开网店自己如何推广
  • 安娜尔返利机器人怎么做网站杭州网站设计
  • 上海网站制作方法seo培训资料
  • 使用WordPress没有发布按钮seo网络推广什么意思
  • 校园网站建设方案书珠海seo关键词排名
  • 辽宁建设工程信息网官网新网站是哪个电商网站模板
  • 项目网址冯耀宗seo
  • 青海网站建设哪个最好百度明星人气榜排名
  • 自助建站和wordpress宜昌seo
  • 怎样注册网络平台seo系统是什么
  • 爱站网权重查询自己怎么做关键词优化
  • 韩城网站建设制作网页app
  • seo百度关键字优化佛山优化推广
  • wordpress询盘插件大地seo视频
  • wordpress建博客网站吗故事式软文范例500字
  • 代做网站跳转中文搜索引擎大全
  • .net如何做直播网站百度收录工具
  • 深圳网络建设网站女生学网络营销这个专业好吗
  • 网站建设中管理员登录的代码怎么写百度网盘私人资源链接
  • 知乎 php网站开发书籍网络推广属于什么专业
  • 北京网站开发人员网络推广业务
  • 做化工的在哪个网站做平台好网络营销案例ppt
  • 中企动力大连公司咋样徐州seo推广
  • 石家庄的网站开发公司网络排名优化软件
  • 教育公司 网站建设营销公司排名