DockerFile

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

DockerFile 文件教学连接

单阶段构建例子

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
posted @ 2024-04-28 11:04  Tsukinousag1  阅读(14)  评论(0)    收藏  举报