docker部署django+vue项目

109 阅读1分钟

前言

最近无聊玩了下虚拟机,突发奇想在虚拟机中使用docker部署一下系统

1、准备工作

虚拟机、docker、docker-compose下载就不多说,各位可以在网上找到很多案例

2、代码传输

将 Windows 宿主机的项目文件拷贝到 VMware Ubuntu 虚拟机,我使用了共享文件夹的方法,还有其他几种,这里就不多说。共享文件夹步骤如下:

1. 安装 VMware Tools

# 在Ubuntu虚拟机内操作
sudo apt update
sudo apt install open-vm-tools open-vm-tools-desktop
sudo reboot

2. 配置共享文件夹

  1. 关闭Ubuntu虚拟机
  2. VMware菜单 → 虚拟机 → 设置 → 选项 → 共享文件夹
  3. 选择"总是启用" → 添加Windows目录(如 D:\projects

3. 访问共享目录

# 在Ubuntu中查看挂载点
ls /mnt/hgfs/

项目代码目录为:

project/
├── backend/             # Django 项目
│   ├── requirements.txt
│   └── ...
├── web/            # Vue 项目
│   ├── package.json
│   └── ...
├── docker_env/    #dockerfile文件
│   ├── django
│   ├── mysql
│   ├── nginx
│   └── web
└── docker-compose.yml   

3、上传阿里云镜像

1.进入代码文件所在目录,打包web基础Build包,并上传到阿里云镜像

docker build -f ./docker_env/web/DockerfileBuild -t hangzhou.personal.cr.aliyuncs.com/hunlong/lims-web:v1.0-alpine .
docker push hangzhou.personal.cr.aliyuncs.com/hunlong/lims-web:v1.0-alpine

2.打包Backend基础Build包

docker build -f ./docker_env/django/DockerfileBuild -t hangzhou.personal.cr.aliyuncs.com/hunlong/lims-backend:v1.0-alpine .
docker push hangzhou.personal.cr.aliyuncs.com/hunlong/lims-backend:v1.0-alpine

3. 在push到阿里云镜像的时候可能会出现denied: requested access to the resource is denied错误。

解决方法如下:在阿里云镜像中创建对应仓库,在docker login重新登录以下,最后推送

image.png

4、docker-compose

# 后台启动
docker-compose up -d
# docker-compose 停止
docker-compose down
#  docker-compose 重启
docker-compose restart
#  docker-compose 启动时重新进行 build
docker-compose up -d --build