1-4dockerfile基本使用

1.创建一个文件夹

 mkdir mynginxcd mynginxtouch Dockerfile
[root@VM_0_10_centos mynginx]# cat Dockerfile 
FROM nginx:1.17   #第一次镜像RUN echo  echo '<h1>Hello, zjy!</h1>' > /usr/share/nginx/html/index.html

1-1、如果说没有第一层镜像,是空白镜像scratch

FROM scratch
...

1-2、dockerfile  最大镜像层数有限制

Union FS 是有最⼤层数限制的,⽐如 AUFS,曾经是最⼤不得超过 42 层,现在是不得超过 127层。
Dockerfile 正确的写法应该是这样:FROM debian:jessie
RUN buildDeps='gcc libc6-dev make' \
&& apt-get update \
&& apt-get install -y $buildDeps \
&& wget -O redis.tar.gz "http://download.redis.io/releases/redis-3.2.5.tar.gz" \
&& mkdir -p /usr/src/redis \
&& tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1 \
&& make -C /usr/src/redis \
&& make -C /usr/src/redis install \
Dockerfile 定制镜像
27
&& rm -rf /var/lib/apt/lists/* \
&& rm redis.tar.gz \
&& rm -r /usr/src/redis \
&& apt-get purge -y --auto-remove $buildDeps#而不是这样怎写的
FROM debian:jessie
RUN apt-get update
RUN apt-get install -y gcc libc6-dev make
RUN wget -O redis.tar.gz "http://download.redis.io/releases/redis-3.2.5.tar.gz"
RUN mkdir -p /usr/src/redis
RUN tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1
RUN make -C /usr/src/redis
RUN make -C /usr/src/redis install

2.制作镜像 

docker build -t nginx:v3 .

 

 3、dockerfile 构建会有上下文

如果注意,会看到 docker build 命令最后有 一个  .   ,  . 表示当前目录, Dockerfile 就在当前目录。

当执行COCP指令时会把当前目录打包放在镜像中,如果把dockerfile放在根目录下,打包可能一个镜像会几十G,那样就尴尬了

COPY ./package.json /app/#  ./package.jso  
#所有打包的或者拷贝的全都放到dockerfile 所在目录中,这样才正确
应该会将 Dockerfile 置于一个空目录下,或者项目根目录下。
实际上 Dockerfile 的件名并不要求必须为 Dockerfile,而且并不要求必须位于上下目录 -f ../Dockerfile.php 参数指定某个文件作为 Dockerfile

4、镜像的迁移

Docker 还提供了 docker load 和 docker save 命令,以将镜像保存为一个 tar 文件,然后传输到另一个位置上,再加载进来。这是在没有 Docker Registry 时的做法,现在已经不推荐,镜像迁移应该直接使 Docker Registry,无论是直接使用Docker Hub 还是使内内网私有 Registry 都可以。 
[root@VM_0_10_centos mynginx]# docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               v3                  1af39fd25fb3        29 minutes ago      126MB
nginx               v2                  7d3e771ab88b        5 hours ago         126MB
nginx               1.17                f949e7d76d63        38 hours ago        126MB
ubuntu              16.04               657d80a6401d        7 days ago          121MB
[root@VM_0_10_centos mynginx]# docker save nginx:v3|gzip > nginx_v3.tar.gz
[root@VM_0_10_centos mynginx]# ls
Dockerfile  nginx_v3.tar.gz
[root@VM_0_10_centos mynginx]# du -sh nginx_v3.tar.gz 
47M	nginx_v3.tar.gz
[root@VM_0_10_centos mynginx]# docker rmi 1af39fd25fb3
Untagged: nginx:v3
Deleted: sha256:1af39fd25fb3616ea2efd24d00e0f77309c6a8c6af4ab527678a6adea1250991
Deleted: sha256:d2549ea8e90863f679a50fd3378bd9c06fd766107565f53435134d40470c7799[root@VM_0_10_centos mynginx]# docker load -i  nginx_v3.tar.gz
44d9a80fe7fc: Loading layer [==================================================>]  4.096kB/4.096kB
Loaded image: nginx:v3
[root@VM_0_10_centos mynginx]# docker im
image   images  import  
[root@VM_0_10_centos mynginx]# docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               v3                  1af39fd25fb3        30 minutes ago      126MB
nginx               v2                  7d3e771ab88b        5 hours ago         126MB
nginx               1.17                f949e7d76d63        38 hours ago        126MB
ubuntu              16.04               657d80a6401d        7 days ago          121MB

 

 

转载于:https://www.cnblogs.com/zhaojingyu/p/11594650.html

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

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

相关文章

zTree v2.6 - v3.0 文件对比

转载于:https://www.cnblogs.com/MyFlora/archive/2012/06/05/2536377.html

lvs服务器需要开启web服务么_Centos7搭建LVS+Keepalived高可用Web

LVS Keepalived 高可用集群Keepalived的设计目标是构建高可用的LVS负载均衡的集群&#xff0c;可以调用ipvsadm工具创建虚拟机&#xff0c;不仅仅用作双机热备&#xff0c;还可以使用keepalived构建更加方便快捷的节点&#xff0c;进行相关的健康检查&#xff0c;自动移除失效…

1-5docker私有镜像仓库

1、简单操作 1、在 https://cloud.docker.com 免费注册一个 Docker 账号 2、登录 docker login #命令登录 Docker Hub。 3、注销docker logout # 退出登录。 拉取镜像 4、docker search #命令来查找官方仓库中的镜像 5、docker pull 命令来将它下载到本地。#推送镜像到自己…

NCoreCoder.Aop详解

于今天&#xff0c;功能终于完善度到比较满意的程度了 准备好好写一篇文章&#xff0c;而不是之前的流水账&#xff0c;分享一下最近这些天的踩坑 一开始AOP选的微软提供的DispatchProxy 关于这个&#xff0c;有大佬的文章&#xff0c;可以看看&#xff0c;了解一下 https://ww…

主类网络号怎么算_一文了解网络文化经营许可证的审批范围

3月10日&#xff0c;北京市文化和旅游局发布《关于电商类、教育类、医疗类、培训类、金融类、旅游类、美食类、体育类、聊天类不需要申请办理的特别提示》(以下简称《特别提示》)。《特别提示》指出&#xff0c;随着互联网技术的快速发展&#xff0c;利用互联网从事文化经营活动…

idea命令行运行多个客户端_推荐一款神仙颜值的 Redis 客户端工具,开源啦

日常开发过程中&#xff0c;项目常常都会使用Redis来做缓存或者Session服务器&#xff0c;为了更直观方便&#xff0c;开发者常常会使用一些可视化工具&#xff0c;如 Redis Desktop Manager、Redis Clent等&#xff0c;但界面UI做得不尽人意&#xff0c;作为当今时代&#xff…

javascript二维数组转置_精通Excel数组公式010:认识数组函数:TRANSPOSE、MODE.MULT和TREND...

学习Excel技术&#xff0c;关注微信公众号&#xff1a;excelperfect数组函数是可以提供多个值的Excel内置函数。下面列出了8个Excel内置的数组函数&#xff1a;TRANSPOSE函数MODE.MULT函数(在Excel 2010中引入)TREND函数FREQUENCY函数LINEST函数MMULT函数MUNIT函数(在Excel 201…

linux python安装教程_Linux系统如何安装Python?新手教程

新手入门Python的第一步就是要在你的计算机上安装好Python。有些人可能要问了&#xff0c;Linux系统如何安装Python&#xff1f;本文为你准备了一份新手安装Python的教程&#xff0c;几乎是手把手教你如何操作&#xff0c;你只要尽量照着下面的教程说明&#xff0c;就能成功地在…

1-6docker数据共享与持久化

1、在 Docker 内部以及容器之间管理数据&#xff0c;在容器中管理数据主要有两种⽅式&#xff1a; 数据卷&#xff08;Data Volumes&#xff09; 挂载主机⽬录 (Bind mounts)2、数据卷 数据卷 是⼀个可供⼀个或多个容器使⽤的特殊⽬录&#xff0c;它绕过 UFS &#xff0c;可以提…

中yeti不能加载_第二十章_类的加载过程详解

类的加载过程详解概述在 Java 中数据类型分为基本数据类型和引用数据类型。基本数据类型由虚拟机预先定义&#xff0c;引用数据类型则需要进行类的加载按照 Java 虚拟机规范&#xff0c;从 Class 文件到加载到内存中的类&#xff0c;到类卸载出内存位置&#xff0c;它的整个生命…

泛型参数怎么new_泛型编程,你不知道?(基础篇)

关注“杜明c”&#xff0c;每天进步一点点&#xff01;我们学习C&#xff0c;就常常有人提起泛型编程&#xff0c;什么是泛型编程&#xff1f;我就给大家简单聊一聊。摘要-什么是泛型编程为什么使用泛型编程使用方法什么是泛型编程泛型编程&#xff0c;简而言之&#xff0c;就是…

zabbix入门之添加监控项

zabbix入门之添加监控项 添加一个不带参数的监控项&#xff08;system.cpu.switches&#xff09; 进入“配置”-->“主机”选择某主机的“监控项” 选择创建监控项 键值后边的“选择”提供了大量的键值&#xff0c;带有[ ]的需要定义参数值&#xff0c;这里选择system.cpu.s…

scratch跳一跳游戏脚本_cocos creator制作微信小游戏「跳一跳」

一、游戏的分析(之前没有接触过小游戏&#xff0c;制作的思维还停留在大型ARPG游戏大家共同协作的想法里&#xff0c;但是小游戏讲究小而全&#xff0c;大部分时间是一个人独立开发&#xff0c;所以需要迫使自己养成看到小游戏先拆分细化的思想)二、一些必要的参数台阶参数1: 设…

中boxplot函数的参数设置_如何在Python中生成图形和图表

在本章中&#xff0c;我们将学习如何在Python中生成图形和图表&#xff0c;同时将使用函数和面向对象的方法来可视化数据。Python中常用的一些可视化数据包括以下几种。Matplotlib。Seaborn。ggplot。Geoplotlib。Bokeh。Plotly。在本章中将使用Matplotlib可视化数据包。此外&a…

zabbix入门之监控MySQL

zabbix入门之监控MySQL 这里使用的是zabbix官方自带的MySQL监控模板。 首先确保在被监控主机安装zabbix-agent、zabbix-sender&#xff0c;并且将主机加入监控节点。具体操作请看zabbix添加主机&#xff1a;https://www.cnblogs.com/Smbands/p/11593593.html 修改zabbix自带的M…

css清除浮动的几种方法_CSS 分享几种传统布局方法[上]

本章主要探讨 HTML5 中 CSS 早期所使用的传统布局&#xff0c;很多情况下&#xff0c;这些布局方式还是非常有用的。一&#xff0e;布局模型在早期没有平板和智能手机等移动设备大行其道的时期&#xff0c;Web 页面的设计主要是面向PC 端电脑分辨率展开的。这种分辨率比例比较单…

1-7docke的网络模式

1、Bridge模式bridge 模式是 docker 的默认⽹络模式&#xff0c;不写 –net 参数&#xff0c;就是 bridge 模式。比如使⽤ docker run - p 时工作模式从网上找了一个&#xff0c;如下 例子&#xff1a; run -it -d --name test1 --netbridge centos:v1 bashrun -it -d --name t…

分页的limit_分页场景(limit,offset)为什么会慢

链接:http://t.cn/AidABz08从一个问题说起五年前在腾讯的时候&#xff0c;发现分页场景下&#xff0c;mysql请求速度非常慢。数据量只有10w的情况下&#xff0c;select xx from 单机大概2&#xff0c;3秒。我就问我师父为什么&#xff0c;他反问“索引场景&#xff0c;mysql中获…

Android游戏开发基础part3--Paint 画笔

游戏开发基础part3--Paint 画笔 Paint画笔是绘图的辅助类&#xff0c;一般它是作为画布的参数来实现相应的效果&#xff0c;Paint类中包含文字与位图的样式、颜色等属性信息。Paint的常用方法如下&#xff1a; 1.setAntiAlias(boolean aa) 作用&#xff1a;设置画笔是否无锯齿 …

jvm 参数_6个提高性能的JVM参数

截止到2020年五月&#xff0c;JVM中仅仅只是关于垃圾回收和内存相关的参数就已经超过600个。如果算上其他方面的参数&#xff0c;JVM相关的总参数能轻松超过1000个。参数太多了&#xff0c;弄得人很懵逼。在这边文章中&#xff0c;我们只选取了7个比较重要&#xff0c;且有用的…