1.dockerfile是什么?
- Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。
- 构建三步骤

2.dockerfile语法说明
'''1.DOckerfile常用命令 '''
FROM python:3.6 # 指定拉取镜像版本
ENV PYTHONUNBUFFERED 1 # 不缓冲stdin、stdout和stderr,直接把输出重定向到文件
MAINITAINER zhangsan # 指定作者
RUN mkdri /code # 运行的linux命令
WORKDIR /code # 指定项目工作根路径
ADD . /code/ # 将宿主机文件复制到镜像中
COPY dj.conf /etc/nginx/conf.d # docker内部文件拷贝
VOLUME ["/data1","/data2"] # 将宿主机文件夹挂载到容器中
EXPOSE 8080 # 暴露端口
CMD ["sh","/code/start.sh"] # 容器启动时要运行的命令
CMD ["python", "manage.py", "runserver", "0:8000"]
'''2.生成镜像并运行容器'''
docker build -t nginx:v1 -f Dockerfile-nginx . # 使用Dockerfile-nginx文件生成镜像 nginx:v1
docker push linux-node4.example.com/test/nginx:v1 # 推送镜像到harbor中
docker run -d -p 192.168.56.14:8000:8080 nginx:v1 # 运行docker容器
简单使用dockerfile部署一个django项目
- django-admin startproject demo
- cd demo
- 设置跨域加 *
- python3 manage.py runserver 0.0.0.0:8000 测试启动
- vim Dockerfile
FROM python:3.7
MAINTAINER xiaonq
RUN mkdir /code
WORKDIR /code
ADD . /code/
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
EXPOSE 8000
CMD ["python", "manage.py", "runserver", "0:8000"]
- vim requirements.txt
Django==2.0.4
mysqlclient==1.4.6
- docker build -t dj_demo:v1 -f Dockerfile .
- docker run -d -p 192.168.56.11:8000:8000 dj_demo:v1
图解

7294

被折叠的 条评论
为什么被折叠?



