根据dockerfile创建属于自己的镜像,利用dockercompose 运行django postgresql项目

本文介绍了如何在CentOS环境下,利用Dockerfile创建Django项目的镜像,并通过docker-compose运行包含Django和PostgreSQL的项目。详细步骤包括:安装Docker,编写Dockerfile和requirements.txt,处理Dockerfile构建过程中的问题,使用docker-compose配置服务,以及在浏览器中访问应用。此外,还提供了镜像维护、数据库操作和错误处理的提示。

目录:

1安装docker
2根据dockerfile requirement生成一个镜像
进入镜像 check镜像是否符合要求
3.在原有的镜像上添加功能
3.1利用dockerfile
3.2 进入镜像安装 之后commit
4 编写 docker-compose.yml
5 利用docker-compose 让主机里的代码使用该镜像运行
6 makemigrations和 makemigrate
7 浏览器通过外(公)网访问

1 安装 docker

先明确如果要在自己windows上来封装容器就下docker desktop。然后你可以本地做好容器commit到docker hub,在服务器上pull你自己做好的image就可以了。
直接上阿里云服务器封装就直接上服务器安装。给个传送门,讲的很清楚。
https://www.jianshu.com/p/f02d63ee98e0
如果还是没懂,具体怎么开始部署,那可以看我这个blog,我们从安装xshell开始
https://blog.csdn.net/weixin_41147129/article/details/104920735
win安装 docker desktop
安装前提:
1 那么首先检查电脑的虚拟化开启了没有:进入任务管理器(ctrl+alt+delete),点击性能->cpu ,查看虚拟化是否已启用,如果虚拟化是已禁用,那么你需要重启电脑进入bios开启虚拟化(我们的发的笔记本cpu都是支持虚拟化的,重启时进入bios按esc -> 再按f12 -> 去开启虚拟化)
在这里插入图片描述

开启虚拟化重启后,进入任务管理器看虚拟化是否已启用。
2
然后再是进入电脑的控制面板->程序->启用或关闭Windows功能->把Hyper-v勾上,启用后电脑会重启,后面就可以下载并安装Docker for Windows了。
在这里插入图片描述

Ps: Windows: 不建议系统是家庭版的用户 强行增加hyper-v,容易引起docker和虚拟机混乱。
Runtimeerror: 当pip和apt-get的时候遇到连接不上网络,urllib3 runtimeerror相关问题,建议换源 具体可上网查询 pip换源
给大家一个宝贝,DockerDesktop在官网下载实在太慢,太慢了,这里给出 docker Windows 的百度云资源链接
链接:https://pan.baidu.com/s/1KiEsAzz1gbeIhmZhfnSIYg
提取码:rmn8

2根据dockerfile requirement生成一个镜像

$ docker images

看现有镜像

$ docker ps

查看现有容器

$Vim requirement.txt  

#你需要在python里面装的包都可以放在requirement里面
requirment :
Django
zmq
django-registration
stripe
mysql
apscheduler==2.1.2
opencv-python

$vim dockerfile

Dockerfile:(这个文件名是固定的)

FROM python:3.6  
#3.6不用声明系统是ubuntu还是Windows ,python36可以跨平台
ENV PYTHONUNBUFFERED 1 
RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get -yq install sqlite3 && \
	rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
#如果是centos这两句就不用跑了,这两句是ubuntu的
#run后面是你要安装的东西 可以理解为在镜像里面run了这个指令
#可以把需要安装的包全部声明在requirement.txt里面也可以 run 一个个安装
RUN mkdir /code
#在你的镜像里创造一个文件夹
WORKDIR /code
#把镜像的工作地址设置为那个文件夹
ADD requirements.txt /code/
#把主机上的 requirement.txt添加到刚刚创立的文件夹里面
RUN pip install -r requirements.txt  #运行根据requirement.txt安装
ADD . /code/
#把当前目录的内容添加到code文件夹里

这和上面的内容是一样的,上面是为了方便你看。
FROM python:3.6
#3.6不用声明系统是ubuntu还是Windows ,python36可以跨平台
ENV PYTHONUNBUFFERED 1
RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get -yq install sqlite3 &&
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
#如果是centos这两句就不用跑了,这两句是ubuntu的
#run后面是你要安装的东西 可以理解为在镜像里面run了这个指令
#可以把需要安装的包全部声明在requirement.txt里面也可以 run 一个个安装
RUN mkdir /code
#在你的镜像里创造一个文件夹
WORKDIR /code
#把镜像的工作地址设置为那个文件夹
ADD requirements.txt /code/
#把主机上的 requirement.txt添加到

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值