| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 镜像的制作以及Dockerfile的指令详细介绍 -> 正文阅读 |
|
[系统运维]镜像的制作以及Dockerfile的指令详细介绍 |
目录 一、Dockerfile常见的指令FROM 使用基础镜像 COPY 复制文件到容器里 ADD 复制文件到容器里 两种的区别是,复制文件到容器里时,ADD会自动解压压缩文件,推荐使用COPY RUN 制作镜像时,运行的命令 其实RUN指令背后是,制作镜像的时候,会临时启动一个中间测试的容器,并且这些命令在这个中间测试的容器里运行,dockerfile里每执行一个RUN指令,就会产生一个镜像层。这样会使得制作的镜像过大。 因为每执行一个RUN指令会产生一个镜像层,所以当我们需要执行多条命令时,我们可以使用如下的写法:
set命令能设置所使用shell的执行方式,eux是选项。 -e?若命令传回值不等于0,则立即退出shell。也就是后面的命令执行错误,就退出shell。 -u 当执行的时候使用到未定义过的变量,则显示错误信息。 -x?执行指令后,会显示该指令的执行过程及所示的参数。 CMD 镜像制作完成后,去启动容器时,运行的命令。 格式:CMD? ["echo","hello world"] 当然还有其他格式,但是推荐使用这种 ENTRYPOINT 启动容器时运行的命令,类似于CMD指令。 两种的区别:1.docker run 启动容器的时候,可以传递参数给ENTRYPOINT里面的命令 2.当ENTRYPOINT和CMD同时出现时,以ENTRYPOINT为准,这时,CMD相当于给ENTRYPOINT传递参数 ENV 定义环境变量 VOLUME 指定容器挂载点到宿主机自动生成的目录 格式:VOLUME /var/lib/mysql 这只是举例,后面的路径可以不是这个。 /var/lib/mysql是容器里的路径,在docker宿主机里创建一个volume,卷的名字是随机产生的,卷的路径在/var/lib/docker/volumes下,容器里/var/lib/mysql的数据会传到宿主机/var/lib/docker/volumes下。 ARG 在制作镜像的时候使用,传递参数的 EXPOSE 声明开放哪个端口 LABEL 标签的作用 STOPSIGNAL 只要接收到那种信号,容器就自动退出 HEALTHCHECK?用docker检测容器是否还在正常地运行,是否还能对外提供服务 二、镜像制作要求: 1、新建空目录
2、下载nginx源码文件,准备安装nginx脚本
3、编写Dockerfile
4、生成镜像
5、使用制作的镜像生成容器
6、测试容器,访问web服务
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 9:55:52- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |