乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Docker 1.1 Dockerfile
2023-04-08 06:16:17
55
0
0
admin
> Dockerfile 是用来构建Docker镜像的文本文件 # 使用方法 vim Dockerfile ``` FROM nginx RUN echo 'My image' > /usr/share/nginx/html/index.html ``` 创建镜像 ``` docker build -t nginx:v1 . ``` # 各参数含义 ## FROM:源容器,必须第一行 ```Dockerfile FROM nginx FROM nginx:v1 FROM nginx:<hash> ``` ## MAINTAINER:维护者 ## COPY:在跑docker build 时把当前文件系统中的文件复制进容器 ```Dockerfile COPY [--chown=<user>:<group>] <源路径1>... <目标路径> ``` ## ADD:和COPY类似,建议使用COPY ADD 就是当源文件为tar的压缩文件的话,压缩格式为gzip,bzip2,xz的情况下,会自动解压 ## RUN:在docker build 的时候跑这个命令 ```Dockerfile RUN echo 'My image' > /usr/share/nginx/html/index.html ``` ## CMD:在docker run 的时候跑的命令 ```Dockerfile CMD 可执行文件 CMD ["可执行文件","arg1","arg2",...] CMD ["arg1","arg2",...] #为ENTRYPOINT 指令指定的命令提供默认参数 ``` ## ENTRYPOINT:类似CMD,不会被docker run xxx 覆盖,会被--entrypoint 覆盖 默认/bin/sh -c ```Dockerfile ENTRYPOINT ["可执行文件","arg1","arg2",...] ``` ## ENV:环境变量 ```Dockerfile ENV <key> <value> ENV <key1>=<value1> <key2>=<value2>... ``` ## ARG:定义docker build 时候需要的变量 --build-arg key=value ```Dockerfile ARG key #只定义需要这个参数 ARG key=value ``` ## VOLUME:挂载数据卷 ```Dockerfile VOLUME ["PATH1", "PATH2"...] VOLUME PATH VOLUME PATH1 PATH2 ``` ## EXPOSE:暴露端口 ```Dockerfile EXPOSE port1/tcp port2/udp ``` ## WORKDIR:工作目录 ```Dockerfile WORKDIR PATH ``` ## USER:后续命令使用的用户 ```Dockerfile USER <用户名>[:<用户组>] ``` ## STOPSIGNAL:容器停止时发什么信号,默认15 ```Dockerfile STOPSIGNAL SIGTERM ``` ## HEALTHCHECK:检查运行状态的命令 ```Dockerfile HEALTHCHECK [选项] CMD /bin/true:设置检查容器健康状况的命令 HEALTHCHECK NONE: 屏蔽基础镜像中的健康检查命令 选项: -interval=30s 两次检查间隔时长 -timeout=30s 检查运行超时时长 -retries=3 连续失败N次后,状态变为unhealthy CMD返回值:0 成功,1失败,2保留值 ``` ## ONBUILD:这里配置的命令在将此镜像作为基础镜像跑docker build 的时候触发 ```Dockerfile ONBUILD RUN mkdir aaa ```
上一篇:
Docker 1.0 简单使用
下一篇:
Elasticsearch 0.0 简单介绍
文档导航