docker学习笔记——Dockerfile

Dockerfile是一个镜像描述文件,通过Dockerfile文件可以构建一个属于自己的镜像。

如何通过Dockerfile构建自己的镜像:

  1. 在指定位置创建一个Dockerfile文件,在文件中编写Dockerfile相关语法。

  2. 构建镜像,docker build -t aa:1.0 .(指定Dockerfile文件所在位置)

当我们进行build的时候,会将Docketfile所在文件的所有东西全部打包加载,可以使用ignore文件进行忽略。

并且其在构建镜像的时候是会一步步的构建出临时镜像,并且缓存起来,只是不对外暴露,我们只能看到最终打包好的镜像,docker会将临时镜像缓存起来,以后构建其他镜像时,如何有重复的命令,就可以使用其缓存的镜像。

1.命令

  • touch Dockerfile:创建Dockerfile。

1.第一行命令,基于某个镜像来构建——FROM 镜像名称

2.RUN命令表示执行某命令——RUN yum install -y vim

 3.EXPOSE命令表示声明容器中的服务端口——EXPOSE 8081

4.ENV命令可以设置全局变量——

 5.WORKDIR命令表示进入容器后的落脚点,没有此目录会自动创建—WORKDIR /目标目录

6.ADD命令可将URL/文件下载到镜像中,可以结合上面的地址配合使用,如下:

7.volume数据卷声明,只是声明而已:  

8.CMD和ENTRYPOINT,它们两个都是用来指定容器启动时的默认命令的,一个指令可以存在多个,但是只会有最后一个生效,一般场景下它们两个是相互配合进行使用的,entrypoint用来表示一个容器固定的指定,cmd用来给entry传递参数。注意:配合使用时必须使用json数组语法。

 

ENTRYPOINT必须写在CMD的上面,因为是按照顺序执行的!

启动时可对CMD的参数进行覆盖:  

2.举例

3.拓展

注意:open-jre镜像,就相当于是在linux操作系统上只有一个jre而已,然后我们把jar包什么的,扔到其容器的任意一个目录下面,启动后因为有环境支持,正常运行即可。

可以基于open-jre来作为基础镜像构建我们自己的镜像,创建一个目录,下面创建Dockerfile文件,将jar包放到目录的下面,和Dockerfile同级,然后就可以编写Dockerfile语法,如下:

注意:将mysql容器启动之后,一定要将我们的构建镜像起的容器和mysql挂载到一个我们自定义的网桥上,这样后端的连接mysql接口的地址就可以通过容器名称去访问了。

4.Dockerfile的一些问题

 

相关推荐

  1. Docker学习笔记Dockerfile文件的应用

    2024-03-10 18:58:03       34 阅读
  2. Dockerdockerfile学习

    2024-03-10 18:58:03       28 阅读
  3. Docker笔记:关于Dockerfile及构建镜像

    2024-03-10 18:58:03       42 阅读
  4. 【深度学习】SDXL TensorRT Dockerfile Docker容器

    2024-03-10 18:58:03       32 阅读
  5. Docker-Dockerfile

    2024-03-10 18:58:03       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-10 18:58:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-10 18:58:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-10 18:58:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-10 18:58:03       20 阅读

热门阅读

  1. json-server 快速搭建本地服务器

    2024-03-10 18:58:03       27 阅读
  2. LeetCode111 二叉树的最小深度

    2024-03-10 18:58:03       21 阅读
  3. flask流式响应

    2024-03-10 18:58:03       22 阅读
  4. Flask从入门到精通

    2024-03-10 18:58:03       23 阅读
  5. Python Flask 打包成exe 心得体会

    2024-03-10 18:58:03       22 阅读
  6. 5.49 BCC工具之rdmaucma.py解读

    2024-03-10 18:58:03       20 阅读
  7. 蓝桥杯刷题--python-20-多路归并,贡献法

    2024-03-10 18:58:03       19 阅读
  8. uniapp ui库 px 转 rpx

    2024-03-10 18:58:03       21 阅读
  9. PostgreSQL常用命令汇总

    2024-03-10 18:58:03       18 阅读
  10. CSS实现块级元素水平垂直居中的3种常用方式

    2024-03-10 18:58:03       19 阅读
  11. 调用GPL 开源库的法律问题

    2024-03-10 18:58:03       24 阅读