Docker 部署前后端项目

一.准备好一台服务器 云上的可以 公司的也可以 我这里使用的是centos

避免docker版本老的以及传到Docker-Hub上出错问题,运行如下代码

#升级yum
sudo yum update
#卸载旧版本docker
sudo yum remove docker  docker-common docker-selinux docker-engine
#安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#设置源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
#安装docker
sudo yum install docker-ce

#启动服务
sudo systemctl start docker

# docker pull nginx

1.将我们的前端项目在根目录打包  

 2.打包成功后会生成一个 dist文件夹,dist文件夹就是我们打包好的前端项目

3.将打包好的前端项目 dist文件放到在服务新建的文件夹里

 4.Dockerfile文件如下 复制就可

FROM nginx
 
MAINTAINER zouzou
 
RUN rm /etc/nginx/conf.d/default.conf
 
ADD default.conf /etc/nginx/conf.d/
 
COPY dist/ /usr/share/nginx/html/

5.default.conf文件如下 复制修改ip即可

server {
    listen       80;
    server_name  112.124.2.201; # 修改为docker服务宿主机的ip
 
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }
 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

6.最后在我们的根目录执行下列命令,将前端程序打包为docker镜像

docker build -t 镜像名称 .

二.后端程序分为四步

1.将我们用到的包打包自动生成requirements文件

# 使用pipreqs的好处就是只会生成当前项目使用到的第三方类库的requirements文件。
pip install pipreqs
# 在项目根路径使用 避免中文乱码
pipreqs ./ --encoding='utf-8'

 2.编写Dockerfile

# 指定版本
FROM python:3.7
# 项目目录
WORKDIR /renren_python

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

COPY . .
ENV LANG C.UTF-8
# main 为我们的主函数入口
CMD ["gunicorn", "main:app","-c","./gunicorn.conf.py"]

3.编写 gunicorn.conf.py

第三行指定端口  0.0.0.0为全部 不要写127.0.0.1或者localhost

workers = 3    # 进程数
worker_class = "gevent"   # 异步模式
bind = "0.0.0.0:5000"

最后 我们在根目录将后端程序打包为镜像

docker build -t 镜像名字 .

后端整体目录如下

 这是我们打包好的前后端镜像

# 后端启动
docker run  -d -p 5000:5000 flask

# 前端启动
docker run  -d -p 8080:80 vvv

我们在浏览器自己的ip端口就可以访问


三. 我们可以把我们打包好的文件上传到Docker-Hub上面

将自制的镜像上传至 docker 仓库; https://hub.docker.com/

 1.准备账户

    登录到 docker hub 创建官网创建账户, 登录后点击 settings 完善账户信息,填写账户基本信息

 2. 在服务器上 输入自己的账户等

    docker login 

 上面图所示代表成功

 3.  查看镜像

   这是我的前后端两个镜像

 4  给镜像做 tag 并开始上传

docker tag 镜像 用户名/名字:版本
docker push 用户名/名字:版本

 5. 打开官网看到我们上传的镜像

 我们要将镜像拉取的话

docker pull  用户名/名字

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值