1. Dockerfile
1.1 Dockerfile作用
- 一个用来构建镜像的文本文件
- 包含了多条构建镜像所需的指令和说明
- 用于构建docker 镜像
1.2 Dockerfile字段详解
- FROM: 指定在哪个镜像的基础上创建
- LABEL: 指定维护人员,不执行
- RUB: 一般需要安装的依赖等脚本
- ENV: 在容易哪创建环境变量
- COPY: 复制文件/目录到容器中
- WORKDIR: 切换目录
- USER: 指定运行其他命令的用户
- VOLUME: 指定需要持久化保存的目录(数据备份)
- ENTRYPOINT&CMD: 指定容器运行后的命令
1.3 脚本示例
mkdir -p docker_exp/test && cd docker_exp/test
vim Dockerfile
docker build -t apitest .
docker run --name apitest1 --rm apitest1
FROM centos
LABEL maintainer='zy001'
RUN apt-get update && apt-get install -y nginx
CMD [ "echo', 'BUILD OK" ]
ENTRYPOINT [ "bin/cat" ]
CMD [ "etc/passwd" ]
2. flask项目运行
FROM python:3-alpine3.13
LABEL maintainer='zy'
LABEL description='simple deploying flask_project'
WORKDIR /usr/src/app
ADD ./demo.tar.gz ./
WORKDIR demo
RUN pip install -i https://pypi.douban.com/simple -r rqm.txt
EXPOSE 5000
CMD [ 'python', 'flask-demo.py' ]
docker build -t apitest .
docker run -it --name apitest -p 8000:5000 apitest /bin/sh
docker ps -a
curl 'http://127.0.0.1:8000/api'
3. DockerHub仓库
docker login
docker tag image_name:v1.0 zyanwei2011/apitest:v1.0
docker push zyanwei2011/apitest:v1.0