FROM centos:7
MAINTAINER zhangsan<123456@qq.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "----end----"
CMD /bin/bash
单阶段构建例子
FROM centos
MAINTAIN test test@example.com #作者信息
#安装一些依赖的包
RUN yum install -y pcre-devel wget net-tools gcc zlib zlib-devel make openssl-devel
#安装nginx
ADD http://nginx.org/download/nginx-1.8.0.tar.gz . #添加nginx的压缩包到当前目录下
#解包
RUN tar zxvf nginx-1.8.0.tar.gz
#创建nginx目录
RUN mkdir -p /usr/local/nginx
#编译安装
RUN cd nginx-1.8.0 && ./configure --prefix=/usr/local/nginx && make install
#删除自带的nginx配置文件
RUN rm -fv /usr/local/nginx/conf/nginx.conf
#添加配置文件
ADD http://www.apelearn.com/study_v2/.nginx_conf /usr/local/nginx/conf/nginx.conf
#开放80端口
EXPOSE 80
多阶段构建例子
"Dockerfile" 25L, 708B
#第一构建阶段:将仅用于生成 requirements.txt文件
FROM tiangolo/uvicorn-gunicorn:python3.9 as requirements-stage
#将当前工作目录设置为 /tmp
WORKDIR /tmp
#生成reuqirements.txt文件
RUN touch requirements.txt
#第二构建阶段,在这往后的任何内容都将保留在最终容器映像中
FROM python:3.9
#将当前工作目录设置为/code
WORKDIR /code
#复制requirements.txt;这个文件只存在于前一个Docker阶段,这就是使用--from=requirements-stage的原因
COPY --from=requirements-stage /tmp/requirements.txt /code/requirements.txt
#运行命令
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
#复制
COPY ./test.py /code/app
标签:code,requirements,--,nginx,RUN,txt,DockerFile
From: https://www.cnblogs.com/Tsukinousag1/p/18163318