【docker 使用】创建镜像docker build
创建镜像命令
docker build -t [镜像name]:[镜像tag] -f [dockerfile路径] [资源目录]
执行该命令后,docker会将[资源目录]打包,之后在dockerfile中使用COPY命令,就可以从资源目录往docker中拷贝东西了。
dockerfile不需要包含在资源目录里,但是dockerfile里要COPY的资源一定要在资源目录里。
dockerfile
dockerfile命令详解:
https://www.cnblogs.com/panwenbin-logs/p/8007348.html
关键命令:
COPY 从宿主的资源目录向docker中拷贝文件
RUN 在docker中执行命令,每一个RUN命令是一层
WORKDIR 在docker中设置工作目录,可以有多个该命令,相当于cd
FROM 引用其他镜像 https://www.liangzl.com/get-article-detail-16554.html
docker分层build
在《Docker概念简介》 中我们提到,你可以简单理解Docker的镜像是一个压缩文件,其中包含了你需要的程序和一个文件系统。其实这样说是不严谨的,Docker镜像并非只是一个文件,而是由一堆文件组成,最主要的文件是 层。
Dockerfile 中,大多数指令会生成一个层,比如下方的两个例子:
# 示例一,foo 镜像的Dockerfile
# 基础镜像中已经存在若干个层了
FROM ubuntu:16.04 # RUN指令会增加一层,在这一层中,安装了 git 软件
RUN apt-get update \
&& apt-get install -y --no-install-recommends git \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# 示例二,bar 镜像的Dockerfile
FROM foo # RUN指令会增加一层,在这一层中,安装了 nginx
RUN apt-get update \
&& apt-get install -y --no-install-recommends nginx \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
假设基础镜像 ubuntu:16.04 已经存在5层,使用第一个Dockerfile打包成镜像 foo,则foo有6层,又使用第二个Dockerfile打包成镜像bar,则bar中有7层。
【docker 使用】创建镜像docker build的更多相关文章
- win10 下安装docker,创建镜像,push镜像到私有仓库,创建私有仓库,修改镜像仓库地址
通过连接下载window docker安装文件,https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.ex ...
- docker——Dockerfile创建镜像
写在前面: 继续docker的学习,昨天用docker成功跑了tomcat,但是在centos中镜像跑的容器手动装jdk和tomcat,今天学习用Dockerfile创建镜像,并在上面搭建java环境 ...
- Docker(十一)-Docker commit创建镜像
创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 修改已有的镜像 查看已有的镜像: $ sudo docker images REPOSITO ...
- docker Dockerfile 创建镜像
Docker 组件 1. docker client : docker的客户端 2. docker server : docker daemon的主要组成部分,接受用户通过docker client发 ...
- docker导出导入镜像docker save和docker load的用法
1.百度搜的第一步是先将容器提交为镜像,然后用你提交的镜像去做上面的备份操作,提交为镜像后会新增一个镜像,但是感觉没有必要,直接做上面的save操作也是可以用的 百度的:docker commit 容 ...
- Docker——手动创建镜像
启动一个进入容器: 在阿里云镜像下载一个nginx: 退出容器: 查看 : docker ps -a oldboyedu是用户名 就像githua一样也有用户名 v1是别名 在创建个容器使用刚才创建的 ...
- Docker构建YApi镜像, Docker安装YApi, Docker部署YApi
概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发 ...
- 2.docker machine 创建 包含 docker 的 linux 虚拟机
1. 启动 从https://github.com/boot2docker/boot2docker/releases下载iso到~/.docker/machine/cache/里 docker-mac ...
- Docker - 创建镜像(二)
实际工作中,我们可能需要自己去创建一个docker镜像,下面给大家介绍如何创建docker镜像 1. 创建一个最简单的镜像 准备Dockerfile文件 [root@dockhost ~]# mkdi ...
随机推荐
- [Flutter] Custom a Slider with SliderTheme
SliderTheme( data: SliderTheme.of(context).copyWith( activeTrackColor: Colors.white, inactiveTrackCo ...
- Map的常用实现类及Entry的用法
public static void main(String[] args) { //map 键值对 json格式根据你的键名来获取对应的值 //特点 :无序.以键值对的形式添加元素,键不 ...
- MySQL常用五大引擎的区别
MyISAM: 如果你有一个 MyISAM 数据表包含着 FULLTEXT 或 SPATIAL 索引,你将不能把它转换为使用 另一种引擎,因为只有 MyISAM 支持这两种索引. BLOB: 如果你有 ...
- Kubernetes 学习26 基于kubernetes的Paas概述
一.概述 1.通过以往的学习应该可以了解到k8s 和以往提到的devops概念更容易落地了.比如我们说的CI,CD,CD a.CI(Continuous Integration):持续集成 b.CD( ...
- __property 关键字的使用
https://blog.csdn.net/lixingshi/article/details/41277577 __property是属性关键字,用来定义类的某种属性. 给类定义属性,是BCB的扩展 ...
- 洛谷 P2627 修剪草坪 题解
P2627 修剪草坪 题目描述 在一年前赢得了小镇的最佳草坪比赛后,Farm John变得很懒,再也没有修剪过草坪.现在,新一轮的最佳草坪比赛又开始了,Farm John希望能够再次夺冠. 然而,Fa ...
- Loadrunner11录制过程中报错:由于另一个程序正在运行中,此操作无法完成
第一次安装LR11录制没有问题,第二次录制也没有问题,后面第二天录制就出现了如下截图的现象 报错内容:由于另一个程序正在运行中,此操作无法完成.请选择“切换到”来激活正在运行中的的程序,并更正问题 ...
- [内网渗透]Mimikatz使用大全
0x00 简介 Mimikatz 是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点就是他可以直接从 lsass.exe 进程中获取当前登录系统用户名的密码 ...
- 深入理解volatile原理与使用
volatile:称之为轻量级锁,被volatile修饰的变量,在线程之间是可见的. 可见:一个线程修改了这个变量的值,在另一个线程中能够读取到这个修改后的值. synchronized除了线程之间互 ...
- R scholar和rentrez | NCBI和Google scholar文献数据挖掘
主要会用到两个R包: rentrez: 'Entrez' in Rscholar: Analyse Citation Data from Google Scholar RISmed 包可以查询 Pub ...