编写dockerfile生成镜像,并且构建容器运行

编写dockerfile生成镜像,并且构建容器运行

目录

编写dockerfile生成镜像,并且构建容器运行

概述

一、dockerfile文件详解

Dockerfile的基本结构

Dockerfile的常用指令

二、构建过程

概述

随着微服务应用越来越多,大家需要尽快掌握docker的基本使用,借着本文简单介绍一下dockerfile文件的结构,希望对读者有所帮助。

一、dockerfile文件详解

Dockerfile是一个文本文件,包含了一系列用于构建镜像的指令。每条指令都会构建一层镜像,指令的内容描述了该层镜像应如何构建。Dockerfile可以使用docker build命令进行编译,构建出Docker镜像。用户可以将自己的应用打包成镜像,从而让应用在容器中运行,还可以对官方镜像进行扩展,打包成适合生产环境的应用镜像。

Dockerfile的基本结构

Dockerfile包含两种类型的行:以#开头的注释行和以专用"指令"开头的指令行。ImageBuilder按顺序执行各指令,从而完成镜像构建。Dockerfile中的每条指令都会创建一层镜像,指令的执行顺序从上至下。

Dockerfile的常用指令

​‌FROM‌:初始化一个新的构建阶段,并设置基础镜像。

MAINTAINER:指定作者信息(注意:新版Docker中推荐使用LABEL来替代)。

RUN‌:在当前镜像之上执行命令。 ‌‌

ADD‌:复制新的文件、目录或远程文件URL到镜像中。 ‌

COPY‌:复制本地文件、目录或远程文件URL到镜像中。 ‌‌

CMD‌:运行程序,在docker run时运行。 ‌‌

ENTRYPOINT‌:配置容器启动时运行的命令。 ‌

LABEL‌:给镜像添加元数据。 ‌‌

ENV‌:设置环境变量。 ‌‌

EXPOSE‌:声明容器运行时需要监听的端口。 ‌‌

VOLUME‌:设置卷,用于数据持久化或共享数据。 ‌‌

WORKDIR‌:设置工作目录。 ‌

USER‌:指定运行容器时的用户名或UID。 ‌

ARG‌:定义变量,供构建时使用。 ‌

ONBUILD‌:当构建一个被继承的Dockerfile时运行命令。 ​

二、构建过程

构建镜像的命令是:

复制代码
docker build -t my-image-name:my-tag .

其中,-t 参数用来指定镜像的名字和可选的标签(tag),. 指定了Dockerfile文件所在的目录。

如下示例:

FROM ubuntu:18.04

RUN apt-get update && apt-get install -y \

git \

python3 \

python3-pip

COPY . /app

WORKDIR /app

CMD ["python3", "app.py"]

构建这个Dockerfile的命令是:

docker build -t my-python-app:latest .

相关推荐
彭于晏Yan1 小时前
MQTT消息服务
spring boot·后端·中间件
indexsunny1 小时前
互联网大厂Java面试实战:从Spring Boot到微服务架构的深度解析
java·spring boot·spring cloud·kafka·prometheus·security·microservices
java1234_小锋2 小时前
分享一套优质的SpringBoot+Vue咖啡商城系统
vue.js·spring boot·咖啡商城
多云的夏天2 小时前
docker容器部署-windows-ubuntu
java·docker·容器
悟空码字3 小时前
滑块拼图验证:SpringBoot完整实现+轨迹验证+Redis分布式方案
java·spring boot·后端
小江的记录本4 小时前
【MyBatis-Plus】Spring Boot + MyBatis-Plus 进行各种数据库操作(附完整 CRUD 项目代码示例)
java·前端·数据库·spring boot·后端·sql·mybatis
码界奇点4 小时前
基于Spring Boot的医院药品管理系统设计与实现
java·spring boot·后端·车载系统·毕业设计·源代码管理
淡泊if5 小时前
1.2GB → 98MB,我的 Docker 镜像瘦身实战记录
运维·docker·容器
Sst的头号粉丝5 小时前
Docker——cgroups
运维·docker·容器
海南java第二人5 小时前
Cursor 高级实战:从 Spring Boot 到微服务,AI 驱动的全流程开发指南
人工智能·spring boot·微服务