Dockerfile 指令

构建本地镜像

# docker build [选项] <上下文路径/URL/->
docker build -t nginx:v3 .

RUN 执行命令

# RUN像Shell一样可以执行命令 但最好不要频繁执行RUN会导致镜像层数变多
# 一般用来安装依赖等
RUN set -x; buildDeps='gcc libc6-dev make wget' \
    && apt-get update \
    && apt-get install -y $buildDeps \
    && wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" \
    && mkdir -p /usr/src/redis \
    && tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1 \
    && make -C /usr/src/redis \
    && make -C /usr/src/redis install \
    && rm -rf /var/lib/apt/lists/* \
    && rm redis.tar.gz \
    && rm -r /usr/src/redis \
    && apt-get purge -y --auto-remove $buildDeps

COPY 复制文件

# COPY [--chown=<user>:<group>] <源路径>... <目标路径>
# <目标路径> 可以是绝对路径,也可以是相对于工作目录的相对路径(工作目录可以用 WORKDIR 指令来指定)
# <目标路径> 不存在会在复制文件前先行创建缺失目录
COPY package.json /usr/src/app/

ADD 更高级的复制文件

# ADD功能和COPY差不多 但能制动解压 也可以根据url下载
ADD ubuntu-xenial-core-cloudimg-amd64-root.tar.gz /

CMD 容器启动命令

CMD 指令的格式和 RUN 相似

CMD echo $HOME

引用

最后修改:2023 年 10 月 18 日
如果觉得我的文章对你有用,请随意赞赏