docker-compose|docker-compose + nginx部署前后端分离的项目
安装docker
安装必要的系统工具
# 更新yum工具
yum update -y
# 安装必要的工具
yum install -y yum-utils device-mapper-persistent-data lvm2
软件源信息切换
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装
yum makecache fast
yum -y install docker-ce
配置镜像加速器
tee /etc/docker/daemon.json <<-'EOF'
{
"debug" : true,
"registry-mirrors": ["https://dpayzz9i.mirror.aliyuncs.com"],
"default-address-pools" : [
{
"base" : "172.31.0.0/16",
"size" : 24
}
]
}
EOF
启动
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
使用
docker -v
查看版本号安装docker-compose 安装
curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
权限修改
chmod +x /usr/local/bin/docker-compose
使用
docker-compose -v
查看版本文章图片
docker-compose.yml文件编写
version: '2' # docker 的版本services: # 配置的容器列表CONTAINER_NAME: # 容器的名称image: BASE_IMAGE # 这个一个容器的基础镜像ports: # 你的容器需不需要做端口映射- "host_port:container_port"volumes: # 数据卷配置- host_dir:container_direnvironment: # 环境变量(map 的配置方式 key: value)PARAM: VALUEenvironments: # 环境变量(数组的配置方式 - key=value)- PARAM=VALUErestart: always # 容器的重启策略dns: # dns 的配置- 8.8.8.8
配置文件详解
详解链接【docker-compose|docker-compose + nginx部署前后端分离的项目】配置文件示例
version: '3.7'services:
film-service:
container_name: film-service
hostname: film-service
image: adoptopenjdk/openjdk11
volumes:
# jar包的挂载地址
# - 宿主机内jar包的地址(需要修改):容器内jar包的地址(无需修改)
- /usr/software/film/film-0.0.1-SNAPSHOT.jar:/app/app.jar
# 同步宿主机的时间到容器内
- /etc/localtime:/etc/localtime
privileged: true
restart: always
ports:
- "9090:9090"
# 启动命令
command: java -Xmx512m -jar /app/app.jar
# 环境变量相关配置
environment:
#- spring.profiles.active=test
# 启动执行
- server.port=9090
- TZ=Asia/Shanghai
networks:
- film_network
nginx:
container_name: nginx-film
hostname: nginx-film
image: nginx
volumes:
# hostm目录: container目录
- /usr/software/film/conf/:/etc/nginx/conf.d/
- /usr/software/film-web/dist/:/etc/nginx/web/
- /usr/software/film-admin/dist/:/etc/nginx/admin/
- /etc/localtime:/etc/localtime
environment:
- TZ=Asia/Shanghai
privileged: true
restart: always
ports:
# "host_port: container_port"
- "80:80"
- "443:443"
networks:
- film_network
deploy:
# limit用于限制最大的资源使用数量,reservation为最低的资源占用量。
resources:
limits:
cpus: '0.50'
memory: 10Mnetworks:
film_network:
external: true
解决js、css文件404的情况 Vue项目配置
**直接修改vue项目中的 **vue.config.js文件,将基本路径设置为相对路径
module.export {
// 基本路径
publicPath:"./", // 可以设置成[相对路径,这样所有的资源都会被链接为相对路径,打出来的包可以被部署在任意路径
outputDir:“dist”, //打包时生成的生产环境构建文件的目录
assetsDir: ‘web’, // 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录
}
文章图片
这样打包出来的js、css文件路径会是
文章图片
dist/web/*.js
推荐阅读
- V2P|搭建V2P及中青看点教程
- 青龙傻妞若兰|Windows部署青龙面板、若兰、傻妞补充说明
- 区块链|夹子机器人/BSC,源码,部署教程
- 个人领悟|在电脑上使用tomcat部署项目时的常见问题
- 如何将本地|如何将本地 SAP UI5 应用通过 Node.js Express 部署到公网上试读版
- nginx|Centos7利用Certbot部署和更新Nginx下的SSL证书
- Linux|【Linux】centos下进行keepalived安装部署
- 从 0 到 1 教你在亚马逊云科技中部署动态网站 Typecho 系统
- 容器化 | 在 K8s 上部署 RadonDB MySQL Operator 和集群
- Nginx实现Nacos反向代理的项目实践