Dockerfile常用参数笔记

本文详细解析Dockerfile的各个指令,包括基础镜像选择、环境变量设置、依赖安装、业务程序复制及启动配置。通过实例展示了如何构建一个Python应用的Docker镜像。
部署运行你感兴趣的模型镜像

Dockerfile

FROM python:3.7-slim    #基础镜像的tag
ENV PYTHONUNBUFFERED 1  #设置环境变量
MAINTAINER cszb <wdjlwz@163.com>  #镜像制作者的信息
# 设置编码
ENV LANG en_US.UTF-8   
# 同步时间
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 3. 安装依赖包
RUN pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/
RUN pip3 install --upgrade pip
ADD requirements.txt .    #将文件从本地路径 <src,复制添加到容器内部路径 <dest>.
RUN pip3 install -r requirements.txt

# 4.复制业务程序
RUN cd /
ADD AutoLink .
WORKDIR .

## 5. 启动
CMD ["python","AutoLink.py","runserver","-h", "0.0.0.0","-p","8000"]
EXPOSE 5000  8000  #暴露服务端口

ADD

ADD 将文件从路径 <src复制添加到容器内部路径 <dest>,复制文件夹的会默认进去复制的当前目录。如果 <dest> 不存在, 文件会被创建在默认不存在路径下

CMD

CMD 指令用3种用法:

CMD ["executable","param1","param2"] 像exec
CMD ["param1","param2"]
CMD command param1 param2 像shell

第一种用法:运行一个可执行的文件并提供参数。
第二种用法:为ENTRYPOINT指定参数。
第三种用法(shell form):是以”/bin/sh -c”的方法执行的命令。

如果用户可能在执行 docker run 的时候指定参数,那么会把CMD里的参数覆盖。
有点类似像开机启动项

ENTRYPOINT

An ENTRYPOINT allows you to configure a container that will run as an executable.它可以让你的容器功能表现得像一个可执行程序一样。
ENTRYPOINT有两种写法:
写法一:ENTRYPOINT ["executable", "param1", "param2"] (the preferred exec form)
写法二:ENTRYPOINT command param1 param2 (shell form)
你也可以在docker run 命令时使用–entrypoint指定(但是只能用写法一)

创建命令

docker build -f Dockerfile -t datagear:1.9.0 .
docker build -f[指定Dockerfile文件] -t [构建镜像后的tag] .[构建的文件目录]
PS.构建建议新建目录,只放构建镜像需要的文件,build开始"Sending build context to Docker daemon 194.5MB" 将目录下文件全部sending,若目录下很多文件,可能构建很慢或者失败。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试老吴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值