Python全系列 教程
3567个小节阅读:5930.8k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
用于设置环境变量,这些变量在容器运行时可用
格式
xxxxxxxxxx
11ENV key=value
示例
xxxxxxxxxx
51ENV APP_HOME=/app
2RUN mkdir $APP_HOME
3
4ENV APP_VER=1.0 DB_VER=2.0
5RUN apt install -y app=$APP_VER db=$DB_VER
好处
注意
- ENV会被保存到镜像的元数据中
- 每次ENV会形成新的层,过多无用ENV会增加镜像大小
用于定义构建参数,这些参数可以在构建镜像时传递给 Docker。通常用于灵活配置镜像的行为
格式
xxxxxxxxxx
11ARG variable_name=value
示例
xxxxxxxxxx
51ARG VERSION=latest
2ARG AUTHOR=anonymous
3
4RUN echo "Version: $VERSION"
5RUN echo "Author: $AUTHOR"
构建时可以传入参数:
xxxxxxxxxx
11docker build --build-arg VERSION=1.0 --build-arg AUTHOR="baizhan"
提示
ENV 与 ARG 区别:
- ARG仅在构建阶段可用,ENV永久生效
- ARG可以在docker build时通过--build-arg传入,ENV不能
用于设置容器内的工作目录。后续的命令将在这个目录下执行。除非命令中使用了绝对路径。
格式
xxxxxxxxxx
11WORKDIR /usr/workdir
示例
xxxxxxxxxx
91FROM ubuntu:20.04
2
3# 设置容器内部的工作目录为 /opt
4WORKDIR /opt
5# 在/opt目录下建立docker文件夹
6RUN mkdir docker
7# 设置容器内部的工作目录为 /usr/local
8WORKDIR /usr/local
9RUN echo "test" > a.info
实时效果反馈
1. 关于 Dockerfile 中的 WORKDIR
、ARG
、ENV
,以下哪个指令用于设置容器内的默认工作目录?
A ARG
B ENV
C WORKDIR
D COPY
2. Dockerfile 中的 ARG
和 ENV
指令有何区别?
A ARG
用于设置环境变量,ENV
用于定义构建参数
B ARG
用于定义构建参数,ENV
用于设置环境变量
C ARG
和 ENV
是完全相同的,可以互换使用
D ARG
和 ENV
用于设置容器内部的默认工作目录
答案
1=>C 2=>B