说实话这个代码块,看着就~~,但是考虑到python的代码也比较多,就没有用亮色的显示,看客复制一下就OK了!
准备容器
# 下载一个运行的镜像
docekr pull image_name
# 创建一个映射端口的容器
docker run --name zheng -it -d -p 127.0.0.1:8899:89 python /bin/bash
# 进入容器
docker exec -it zheng /bin/bash
使用容器
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y install vim
sudo apt-get -y install python3-pip
pip3 install uwsgi
apt install nginx
# 虚拟环境
pip3 install virtualenv
pip3 install virtualenvwrapper
mkdir $HOME/.virtualenvs
sudo vim ~/.bashrc
# 加入这四段代码
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc
基本配置
pip安装包
pip install django==1.11
pip install pymysql
pip install djangorestframework
pip install django-cors-headers
pip install https://github.com/sshwsfc/xadmin/tarball/master
pip install requests
pip install djangorestframework-jwt
pip install h5py
pip install pandas
pip install numpy
pip install librosa
pip install python-pptx
apt-get install libsndfile1
pip install statsmodels
pip install matplotlib
pip install django-redis
BUG
!!! Python Home is not a directory: /root/.virtualenvs/!!!
Set PythonHome to /root/.virtualenvs/Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
# 解决:重新安装虚拟环境
'%s=%s' % (k, v) for k, v in params.items(),
^
SyntaxError: Generator expression must be parenthesized
# 解决:删除`,`
MySQL(其他容器)
# 使用mycli连接远程数据库
mycli -uroot -hlocalhostIP -P13306 -p123456
# 在django的setting.py文件中修改MySQL的配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '本地IP地址', # 数据库主机
'PORT': 13306, # 数据库端口
'USER': 'root', # 数据库用户名
'PASSWORD': '123456', # 数据库用户密码
'NAME': 'database_name', # 43新建数据库==> 使用xadmin
'OPTIONS': {
'read_default_file': os.path.dirname(os.path.abspath(__file__)) + '/my.cnf',
'init_command': "SET sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'",
},
}
}
Nginx(其他容器)
我们使用Nginx部署的时候,直接下载一个镜像,修改Nginx中的文件指向就可以了
cd /etc/nginx
vim conf.d/site.conf
# site文件
server {
listen 80;
charset utf-8;
client_max_body_size 75M;
location /front_end {
alias /home/zheng/Documents/Project/Work/INFO/front_end/;
}
location / {
uwsgi_pass 0.0.0.0:8000;
include /etc/nginx/uwsgi_params;
}
}
vim nginx.conf
# 修改nginx默认配置文件
http {
... ...
include /etc/nginx/conf.d/site.conf;
}
nginx -s reload # --> signal process started
评论区