docker实战基础五(Dockerfile)
编写高效的 Dockerfile
是确保容器化应用成功的关键步骤。以下是关于如何在 Dockerfile
中创建用户、添加环境变量、使用 ENTRYPOINT
、理解 CMD
和 ENTRYPOINT
的区别,以及 ADD
和 COPY
指令的区别的详细说明。
一、创建用户
在Docker容器中运行应用程序时,为了安全性,通常建议不要使用 root
用户。你可以创建一个新的用户并使用它来运行应用程序。
# 使用官方的 Ubuntu 作为基础镜像
FROM ubuntu:latest
# 创建一个新用户
RUN useradd -m myuser
# 切换到新用户
USER myuser
二、添加环境变量
你可以使用 ENV
指令在Docker镜像中添加环境变量。
# 设置环境变量
ENV APP_ENV=production
ENV APP_HOME=/usr/src/app
# 使用环境变量
WORKDIR $APP_HOME
三、ENTRYPOINT
ENTRYPOINT
指令允许你配置一个容器启动时运行的可执行文件。你可以将其视为容器的主要入口点。
# 使用官方的 Debian 作为基础镜像
FROM de