docker 学习(八) docker file
一 什么是Dockerfile:
Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。它们简化了从头到尾的流程并极大的简化了部署工作。Dockerfile 从FROM命令开始,紧接着跟随者各种方法,命令和参数。其产出为一个新的可以用于创建容器的镜像。
二 一个简单的Play Framework项目的dockerfile
FROM openjdk:-jre-alpine
ARG PACKAGE="projectName-1.0.0-SNAPSHOT-dist.zip"
COPY target/${PACKAGE} /${PACKAGE}
RUN mkdir /build && \
unzip /${PACKAGE} -d /build
EXPOSE
ENTRYPOINT ["java", "-Dhttp.address=0.0.0.0", "-Dhttp.port=9000", "-cp", "/build/*", "play.core.server.ProdServerStart"]
FROM: 指定基础镜像,基础镜像是必须指定的。而 FROM 就是指定基础镜像,因此一个 Dockerfile 中 FROM 是必备的指令,并且必须是第一条指令
ARG 构建参数: 设置环境变量。所不同的是, ARG 所设置的构建环境的 环境变量,在将来容器运行时是不会存在这些环境变量的。
expose :暴露端口,但不映射到宿主机,只被连接的服务访问。仅可以指定内部端口为参.
ENTRYPOINT : 指定容器启动程序及参数
三 : 用docker build命令生成dockers 鏡像
docker build -t imagename . (注意後面有個點)
docker 学习(八) docker file的更多相关文章
- Docker学习之Docker容器基本使用
Docker学习之Docker容器基本使用 新建容器并启动 命令格式:docker run --options repository:tag 后台运行 命令格式:-d 已存在的容器相关操作 启动:do ...
- Docker学习之Docker镜像基本使用
Docker学习之Docker镜像基本使用 获取镜像 命令格式:docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] 例如: docker pull ...
- Docker学习笔记 — Docker私有仓库搭建
Docker学习笔记 — Docker私有仓库搭建 目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2 和Mavan的管理一样,Dockers ...
- DOCKER学习_014:Docker存储补充
在前面已经学习了Docker的存储,https://www.cnblogs.com/zyxnhr/p/11830238.html,现在对前面的内容的一个补充,具体请参考https://www.cnbl ...
- Docker学习笔记 - Docker容器内部署redis
Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...
- Docker学习笔记 - Docker的守护进程
学习目标: 查看Docker守护进程的运行状态 启动.停止.重启Docker守护进程 Docker守护进程的启动选项 修改和查看Docker守护进程的启动选项 1.# 查看docker运行状态 方 ...
- Docker学习笔记 - Docker客户端和服务端
学习内容: Docker客户端和服务端的通讯方式:client和自定义程序 Docker客户端和服务端的连接方式:socket 演示Docker客户端和服务端之间用remote-api通讯:nc ...
- Docker 学习2 Docker基础用法
一.docker架构 1.client端 2.server端,docker daemo守护进程,监听在套接字之上.docker支持三种类型套接字. a.ip vs套接字:即IP + 端口套接字 b.i ...
- Docker学习之Docker Registry
前言 前面已经学习了怎样通过Dockerfile来构建我们自己的镜像了,但是一个系统可能包含着很多个微服务即有很多个镜像,当镜像越来越多的时候,就必须得有一个地方来管理这些镜像,Docker官方提供了 ...
- Docker学习:Docker安装和基本使用
Docker Docek是一种容器技术.容器是一种轻量级.可移植.自打包的软件技术,使应用程序可以在几乎任何地方以相同的方式运行. 使用者可以在笔记本上创建并测试好的容器,无需任何修改就能够在生产系统 ...
随机推荐
- 深入Asyncio(十二)Asyncio与单元测试
Testing with asyncio 之前有说过应用开发者不需要将loop当作参数在函数间传递,只需要调用asyncio.get_event_loop()即可获得.但是在写单元测试时,可能会需要用 ...
- Java带标签的break 和带标签的continue
最开始没有学习java 学习的是C语言然后工作开始用java,但当时并没有仔细看过java的书籍,也是大致一翻就看跟C语言很像,了解了基本语法就没有深究了,今天看书开始发现之前没有了解过的语法 带标签 ...
- Log4j2升级jar包冲突问题
升级Log4j2后日志提示jar包冲突: SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar ...
- VC项目文件说明
.dsp 项目参数配置文件,这个文件太重要,重点保护对象.. .dsw 工作区文件,重要性一般,因为它信息不我,容易恢复. 以下文件在项目中是可丢弃的,有些文件删除后,VC会自动生成的. ...
- php总结7——文件函数库、序列化数据、文件包含
7.1 文件函数库 php用来操作文件的 1) fopen 代开文件或URL 格式:resource fopen(string $filename, string $mode) 'r' 只读方式 ...
- 【题解】Cats Transport (斜率优化+单调队列)
[题解]Cats Transport (斜率优化+单调队列) # When Who Problem Lang Verdict Time Memory 55331572 Jun/09/2019 19:1 ...
- Flask:基本结构
python有两个比较出名的网络框架,一个是django,一个是flask. 之前的django文章里面介绍了django的各种用法,这个系列开始介绍flask的用法.相比与django,flask更 ...
- [java,maven] 使用 maven 来搭建简单的 netty 开发环境
大致过程是: 首先, 使用 mvn 命令在指定路径下面创建一套简单的 java 文件包. 然后, 使用 JIdea 导入 maven 项目的方式将创建好的文件包加载到 IDE 环境中.‘ 接下来, ...
- ABAP 给动态变量赋值
[转自 http://blog.csdn.net/forever_crazy/article/details/6544830] 需求: 有时写程序的时候,需要给某个动态变量 赋值操作,当字段比较多时, ...
- 运用<ul><li>做导航栏
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...