dockerfile的命令都是大写的,比如:FROM、RUN等
一条指令构建一层, 创建一个新的容器

3.1.FROM基础镜像

必须是第一条指令

FROM nginx服务镜像
FROM ubuntu 基础的操作系统镜像

Scratch空白镜像
FROM scratch 不以任何镜像为基础

3.2.COPY复制文件到容器中

COPY ./test test
容器中当前路径是/
等价于COPY ./test /test

3.3.RUN执行命令

新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。
Shell格式
RUN echo ‘

Hello, Docker!

’ > /usr/share/nginx/html/index.html #注释
Shell命令后面可以加注释, 必须空格隔开

Exec格式
RUN [“可执行文件”, “参数1”, “参数2”]

2层镜像, 增加了构建部署的时间
FROM nginx
RUN #注释
RUN echo ‘

Hello, Docker!

’ > /usr/share/nginx/html/index.html #行尾注释

简化成1层镜像
FROM nginx
RUN #注释
RUN echo ‘

Hello, Docker!

’ > /usr/share/nginx/html/index.html #行尾注释

3.4.Demo1:格式

构建镜像, 制定镜像名称, 后面方便删除
sudo docker build -t ng:v3 .

查看镜像

启动容器, --name指定容器名称, 方便使用和删除

光标在左下角闪烁

新开窗口
查看容器

进入容器

Ctrl+c关闭容器

删除容器

删除镜像

3.5.Demo2:java项目

Dockerdemo项目
Idea中maven-Package打包后,
Windows用java -jar user.jar启动成功

Linux上 git拉取代码
Pom.xml路径下, 编辑Dockerfile文件
FROM openjdk:8
COPY ./target/user.jar app.jar
ENTRYPOINT [“java”,"-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","–spring.profiles.active=dev"]
-Djava.security.egd=file:/dev/./urandom解决tomcat随机数的问题, 但是我不加的话也是成功的.

Docker build -t user .

docker run --name us2 -d -p 9003:9001 user
用9003端口访问服务了

user ok

docker run --name us3 -d -p 9002:9001 user
启动两个容器, 就是应用集群了

用nginx负载均衡

3.Dockerfile相关推荐

  1. 在Dockerfile中设置G1垃圾回收器参数

    在Dockerfile中设置G1垃圾回收器参数 ENV JAVA_OPTS="\ -server \ -XX:SurvivorRatio=8 \ -XX:+DisableExplicitGC ...

  2. 在k8s中使用gradle构建java web项目镜像Dockerfile

    在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...

  3. Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器

    Dockerfile 将springboot项目jar包打成镜像,并将yml配置文件外挂. # 以一个镜像为基础,在其上进行定制.就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜 ...

  4. Dockerfile 入门看这篇就够了

    在使用docker时,有很多像往容器中复制war包.修改容器配置之类的操作,很繁琐,配置失败或异常时就又是一遍重复的操作,这时候,就要用到这个脚本文件–Dockerfile 以下是我对Dockerfi ...

  5. IDEA的Docker插件实战(Dockerfile篇)

    IDEA的Docker插件实战(Dockerfile篇) IntelliJ IDEA的Docker插件能帮助我们将当前工程制作成Docker镜像.运行在指定的远程机器上,是学习和开发阶段的好帮手,本文 ...

  6. Docker 入门系列(7)- Dockerfile 使用(FROM、RUN、CMD、EXPOSE、ENV、ADD、COPY、ENTRYPOINT、VOLUME、WORKDIR)

    Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 来快速创建自定义的镜像. 1. 基本结构 Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行. ...

  7. dockerfile kafka

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/a2267378/article/det ...

  8. Dockerfile构建实践

    Dockerfile构建实践 本文介绍了用于构建有效图像的推荐最佳实践和方法. Docker通过从一个Dockerfile文本文件中读取指令来自动构建映像,该文本文件按顺序包含构建给定映像所需的所有命 ...

  9. 客快物流大数据项目(十四):DockerFile介绍与构建过程解析

    目录 DockerFile介绍与构建过程解析 一.什么是Dockerfile 1.介绍 2.Dockerfile构建步骤

  10. Docker核心技术之Dockerfile

    一.Dockerfile简介 Dockerfile其实就是根据特定的语法格式撰写出来的一个普通的文本文件 利用docker build命令依次执行在Dockerfile中定义的一系列命令,最终生成一个 ...

最新文章

  1. 图像拼接--Parallax-tolerant Image Stitching
  2. 哇哦!恍然大悟般的“share”功能的实现!
  3. Hibernate 异常 Unable to instantiate default tuplizer
  4. 1.5 训练/开发/测试集划分-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  5. MacOS 常用终端命令大全
  6. bash下个人习惯的一些文件设置
  7. input的属性AutoComplete——关闭浏览器文本框自动提示
  8. php多图片上传程序2.4.3,php多文件上传 多图片上传程序代码
  9. react调用api等待返回结果_React新Context API在前端状态管理的实践
  10. Emacs镜像ELPA
  11. 操作Zookeeper
  12. php foreach 过滤条件_PHP+Redis实现延迟任务实现完成订单
  13. 第二次软件工程作业——模仿节奏大师官网制作的网页
  14. Redis源码分析之内存检测memtest
  15. 大作家超级写作软件_3种对作家有用的Atom文本编辑器软件包
  16. 一款强大的无损音乐的下载器:洛雪音乐助手手机版
  17. R语言 面板数据分析 plm包实现(二)——随机效应模型
  18. ASR中常用的语音特征之FBank和MFCC(原理 + Python实现)
  19. 适合运动的耳机有哪些、最好用的五款运动型耳机推荐清单
  20. 瑜伽修身 偷师动物12招(组图)

热门文章

  1. 为什么Byte类型的运算结果要用int类型来接收
  2. 手机为什么取消了内存卡?
  3. 为什么南派三叔要封笔?
  4. 被腾讯看上,叽里呱啦获近亿美元C轮融资
  5. Of course, Huawei has brought more than just
  6. go 输入输出流(ioutil)
  7. 排序算法(二)--选择排序法
  8. 算法--帕斯卡三角(杨辉三角)JS写法
  9. 类的构造函数和析构函数、默认构造函数
  10. SQL Server索引视图