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,一经查实,立即删除!

相关文章

[html] 移动端如何设置页面以全屏模式运行?

[html] 移动端如何设置页面以全屏模式运行&#xff1f; <meta name"apple-mobile-web-app-capable" content"yes" /> 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目…

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

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

cocos creator 数组_CoCos Creator中的数据类型

常用到的基本数据类型有Integer、String、Vec2、Color&#xff0c;下面的是它们最基本的使用展示&#xff1a;properties: {myNumber:{default:0,type:cc.Integer,},myString:{default:HaHa,},myVec2:{default:cc.Vec2.ZERO,},myColor:{default:cc.Color.RED,},myOtherNumber:0…

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 命令来将它下载到本地。#推送镜像到自己…

[html] 写html代码时,如果缺少了结束标签,你如何检测及如何预防?

[html] 写html代码时&#xff0c;如果缺少了结束标签&#xff0c;你如何检测及如何预防&#xff1f; HTML是一门宽松式语言。即使在语法上出现了错误&#xff0c;浏览器还是会直接解析并显示结果。 2, 为了预防类似缺少结束标签这类错误。可以用过由W3C提供的标记验证服务。通…

最长上升子序列——动态规划

这个是用动态规划做的一道题&#xff0c;先学习一下动态规划的概念吧。 用动态规划解题&#xff0c;就是要把问题分解为一个个子问题&#xff0c;对子问题进行求解&#xff0c;而子问题又可以继续进行分解&#xff0c;直到一定小的规模。DP与递归类似&#xff0c;但递归会导致…

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…

[html] 写html代码时,如果缺少了结束标签,你如何检测及如何预防?

[html] 写html代码时&#xff0c;如果缺少了结束标签&#xff0c;你如何检测及如何预防&#xff1f; 现在的编辑器如vscode就有语法检测 可以装一些代码自动完成插件预防此类事件个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一…

使用matlab判断CDMA接收码片

CDMA码分多址matlab计算 Contents 运算前工作原题表述:码片长度m发送序列为数据分析:运算前工作 clc clear all close all原题表述: ▇4个站的码片序列是a,b,c,d disp(▇4个站的码片序列为:) a[-1 -1 -1 1 1 -1 1 1] b[-1 -1 1 -1 1 1 1 -1] c[-1 1 -1 1 1 1 -1 -1] d[-1 1 -1 …

docker 挂载主机目录 -v 和 --mount区别

使用-v 时&#xff0c;如果宿主机上没有这个文件&#xff0c;也会自动创建&#xff0c; 但是如果使用--mount时&#xff0c;宿主机中没有这个文件会报错找不到这个文件&#xff0c;并创建失败 转载于:https://www.cnblogs.com/zhaojingyu/p/11599473.html

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;就能成功地在…

[html] 如何禁止html页面缓存?

[html] 如何禁止html页面缓存&#xff1f; 上面说清楚了如何禁止页面缓存&#xff0c;那我对这几个meta属性进行说明一下&#xff1a; Cache-Control表示缓存控制&#xff0c;no-cache&#xff0c;no-store&#xff0c;must-revalidate&#xff0c;都表示不缓存的意思。 不过&…

回调函数及使用方法

回调函数及使用方法回调函数说白了就是事件响应程序&#xff0c;Windows的每个消息可以理解为一个事件&#xff0c;事件的响应代码要由用户自己来定义。用户定义了事件响应的代码&#xff0c;但还要Windows知道这段代码的位置&#xff08;要不然Windows就不知道如何去调用&…

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;就是…