10. dockerfile制作myblog镜像
0. 项目介绍¶
###### django项目介绍
- 项目地址:https://gitee.com/chupeng130/python-demo.git
- python3 + uwsgi + nginx + mysql
- 内部服务端口8002
1. 下载django项目文件¶
####具体操作
mkdir -p /k8s/dockerfile/myblog
chown ubuntu.ubuntu -R /k8s
cd /k8s/dockerfile/myblog
git clone https://gitee.com/chupeng130/python-demo.git
ls
cd python-demo && ls
# cat run.sh
#!/bin/bash
uwsgi --ini ./uwsgi.ini
nginx -c /etc/nginx/myblog.conf -g 'daemon off;'
2. 上传nginx软件压缩包¶
nginx-1.20.1.tar.gz
root@k8s-master:/k8s/dockerfile/myblog/python-demo# cp /home/ubuntu/nginx-1.20.1.tar.gz .
root@k8s-master:/k8s/dockerfile/myblog/python-demo# ls
blog log manage.py myblog myblog.conf nginx-1.20.1.tar.gz requirements.txt resources run.sh static uwsgi.ini
3. 编写dockerfile¶
vim Dockerfile
# This my first django Dockerfile
# Version 1.0
#上传nginx压缩包
# Base images 基础镜像
FROM centos:centos7.5.1804
#MAINTAINER 维护者信息
LABEL maintainer="chupeng130@163.com"
#ENV 设置环境变量
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8
#RUN 执行以下命令
RUN curl -so /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
RUN yum install -y python36 python3-devel gcc pcre-devel zlib-devel make net-tools
#工作目录
WORKDIR /opt/myblog
#拷贝文件至工作目录
COPY . .
#安装nginx
#nginx下载地址:http://nginx.org/en/download.html
RUN tar -zxf nginx-1.20.1.tar.gz -C /opt && cd /opt/nginx-1.20.1 && ./configure --prefix=/usr/local/nginx \
&& make && make install && ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
RUN cp myblog.conf /usr/local/nginx/conf/myblog.conf
RUN mkdir -p /etc/nginx
RUN cp -r /usr/local/nginx/conf/* /etc/nginx/
#安装依赖的插件
RUN pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r requirements.txt
RUN chmod +x run.sh && rm -rf ~/.cache/pip
#EXPOSE 映射端口
EXPOSE 8002
#容器启动时执行命令
CMD ["./run.sh"]
4. 执行构建¶
docker build . -t myblog:v1 -f Dockerfile
docker images|grep myblog
#上传到自己仓库
# docker tag myblog:v1 registry.cn-hangzhou.aliyuncs.com/cp-docker/myblog:v1
# docker push registry.cn-hangzhou.aliyuncs.com/cp-docker/myblog:v1
最后更新:
2022-02-22 04:55:01