这次不鸽了,五一假期冰河为你整理了这些Dockerfile基础知识,拿走不谢!!

简介: 早之前,不少小伙伴让我整理下Dockerfile相关的基础知识,由于平时工作很忙,业余时间也被安排的满满的。所以,这些事情搁置了很久。所以,这次,趁着五一假期,不鸽了,安排。。。

Dockerfile常用命令

  • FROM: 继承基础镜像
  • MAINTAINER:镜像制作作者信息
  • RUN: 用来执行shell命令
  • EXPOSE: 暴露端口号
  • CMD: 启动容器默认执行的命令,会被覆盖
  • ENTRYPOINT: 启动容器真正执行的命令,不会被覆盖
  • VOLUME:创建该挂载点
  • ENV: 配置环境变量
  • ADD: 复制文件到容器,一般拷贝文件,压缩包自动解压
  • COPY:复制文件到容器,一般可拷贝目录
  • WORKDIR:设置容器的工作目录
  • USER:容器使用的用户

接下来,列举几个Dockerfile的实例。

Dockerfile实例

1.使用RUN创建一个用户

Dockerfile文件内容如下所示。

FROM centos:6
MAINTAINER binghe
RUN useradd binghe

执行构建,如下所示。

docker build -t centos:user .

2.使用ENV定义环境变量并用CMD执行命令

Dockerfile文件内容如下所示。

FROM centos:6
MAINTAINER binghe
RUN useradd binghe
RUN mkdir binghe
ENV envir=test version=1.0
CMD echo "envir:$envir version:$version"

执行构建并启动测试:

#执行构建
docker build -t centos:evn-cmd .
#启动镜像验证EVN和CMD
docker run centos:env-cmd

3.使用ADD添加一个压缩包,使用WORKDIR改变工作目录

FROM nginx
MAINTAINER binghe
ADD ./index.tar.gz /usr/share/nginx/html/
WORKDIR /usr/share/nginx/html

4.使用COPY拷贝目录

使用COPY拷贝指定目录下的所有文件到容器,不包括本级目录。此时只会拷贝webroot下的所有文件,不会将webroot拷贝过去:

FROM nginx
MAINTAINER binghe
ADD ./index.tar.gz /usr/share/nginx/html/
WORKDIR /usr/share/nginx/html
COPY webroot/ .

5.设置启动容器的用户

设置启动容器的用户,在生产环境中一般不建议使用root用户启动容器,所以,可以根据公司业务场景自定义启动容器的用户:

FROM centos:6
MAINTAINER binghe
ADD ./index.tar.gz /usr/share/nginx/html/
WORKDIR /usr/share/nginx/html
COPY webroot/ .
RUN useradd -m tomcat -u 1001
USER 1001

6.使用VOLUME创建容器可挂载点

FROM centos:6
MAINTAINER binghe
VOLUME /data

挂载目录到/data,注意:对于宿主机路径,要写绝对路径:

docker run -ti --rm -v `pwd` /web:/data centos:volume bash
相关文章
|
23天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
8天前
|
人工智能 缓存 安全
Claude Code 封号真实原因曝光,这次彻底不装了,直接针对国内开发者的账号下手?
Claude Code 封号潮背后:逆向扒出客户端隐写区域标记,Anthropic 政策收紧叠加 DeepSeek 7 月涨价,国产替代更紧迫。
|
13天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
500 127
|
17天前
|
存储 人工智能 监控
QoderWork完全指南:从入门到精通,把“AI实习生”变成你的全能工作搭档
阿里云2026年推出的桌面端AI工作助手QoderWork,不止聊天,更可动手干活:本地运行、安全可控,支持文件整理、数据分析、PPT生成、网页开发等;内置专家套件、多Agent协作与自定义Skills,让AI真正成为你身边的“AI实习生”。
|
9天前
|
人工智能 安全 程序员
终于,Claude Code 封号的原因被曝光了!竟然针对中国用户,植入隐形代码?!
通俗易懂地揭秘 Claude Code 封号的手段,分享一些自己对 AI 编程困境的思考,Codex、Cursor、DeepSeek、智谱 GLM、甚至是豆包,都有所行动了
477 1
|
9天前
|
人工智能 安全 Cloud Native
Higress 新发布:AI Gateway 能力增强,Gateway API 及其推理扩展持续打磨
增强 AI 网关能力,持续打磨 Gateway API 及其推理扩展。
397 125
|
7天前
|
人工智能 编解码 物联网
2026 最新Stable Diffusion 本地部署教程 下载安装使用详细图解(含官网安装包)
Stable Diffusion(SD)是2022年发布的开源文生图模型,由Stability AI等联合开发。支持文生图、图生图、局部重绘等,依托VAE降低算力需求,可在消费级显卡运行。本文提供秋葉aaaki制作的Windows整合包(含图形界面与插件),开箱即用,零配置启动。