跳转至

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