dockers 项目部署

docker里需要用到vim

apt-get update
apt-get install vim

dockers mariadb的使用

  1. 安装mariadb
docker pull mariadb
  1. 启动mariadb
docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=输入数据库root用户的密码 -v /data/mariadb/data:/var/lib/mysql -d mariadb
  1. 进入镜像
docker exec -it mariadb bash
  1. 创建数据库
mysql -uroot -pMariadb123!

create database vmware;

docker 的python使用dockerfile自己生成镜像

  1. dockerfile文件

FROM python:3.7.4

RUN apt-get update

WORKDIR /home/

COPY requirements.txt ./

RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  -r requirements.txt

COPY backend .

EXPOSE 8000

CMD ["uwsgi","--ini","/home/backend/uwsgi.ini"]

  1. 构建镜像
docker build -t myhci .
  1. 运行镜像
docker run -d -it -p 8000:8000 --name hci06 -v /root/hci/:/home myhci
  1. 项目中用到的文件夹创建
mkdir /var/log/hci/
mkdir /etc/hci/
pip install -r requirements.txt

cp hci.web.conf /etc/hci/hci.web.conf
  1. 生成数据库
注:1.修改setting配置文件中的MySQL的host的ip地址和用户名密码,特别注意这个host需要查看MySQL的镜像使用docker inspect -it xxx(mysql)里面有分配的ip
python manager.py makemigrations
python manager.py migrate
python manager.py createsuperuser
···
python manager.py runserver 0.0.0.0:8000

docker 的python项目安装

  1. 下载python镜像
docker pull python:3.7.4
  1. 启动python
docker run -d -it -p 8000:8000 --name hci01 -v /root/hci/:/home python:3.7.4
  1. 项目中用到的文件夹创建
mkdir /var/log/hci/
mkdir /etc/hci/
pip install -r requirements.txt

cp hci.web.conf /etc/hci/hci.web.conf
  1. 修改setting的配置文件
setting中数据的host,user,password,需要修改,通过docker inspect xxxx(it)来查看ip
  1. 生成数据库
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
···
python manage.py runserver

  1. 使用uwsgi
修改uwsgi.ini文件

#执行
uwsgi --ini uwsgi.ini

dockers nginx的使用

注:nginx和前端的dist放到同一个docker中

  1. 下载nginxjingx
docker pull nginx
  1. 执行启动nginx镜像
docker run -d --name nginx1 -p 443:443 -it -v /root/hci/:/home/hci/ nginx /bin/bash
  1. 进入镜像
docker exec -it nginx1 bash
  1. server.crt/key文件
mkdir -p /etc/nginx/ssl
cp server.* /etc/nginx/ssl/
在把上面的两个文件移到ssl文件夹中
mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bk
cp etc/nginx.conf /etc/nginx/nginx.conf
  1. 项目中的log是指定的位置error_log /var/log/hci/nginx.error.log
mkdir -p /var/log/hci/
  1. 把dist文件加放到对应的位置上
mkdir -p /usr/share/hci-portal/frontend/client/
cp -r dist/  /usr/share/hci-portal/frontend/client/
  1. 修改nginx配置,可以在本机挂在的位置修改,在把修改过的移到/etc/nginx/nginx.conf,修改外面的这里面并没有修改
 server {
        listen       443 ssl;
        server_name  _;
        root         /usr/share/hci-portal/frontend/client/dist;
        index        index.html;

        ssl_certificate /etc/nginx/ssl/server.crt;
        ssl_certificate_key /etc/nginx/ssl/server.key;

        include /etc/nginx/default.d/*.conf;

        location /hci {
            include uwsgi_params;
            uwsgi_pass 172.17.0.5:8000;
        }

        location / {
            try_files $uri $uri/ /index.html;
        }
   }
  1. 重启nginx
使用pkill -9 nginx
没有pkill
apt-get update
apt-get install procps

Original: https://blog.csdn.net/weixin_48677830/article/details/123530469
Author: 清政
Title: dockers 项目部署

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/733733/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球