vue3笔记(39-2)docker-compose部署
近期需要实现项目的 docker 部署,调研 docker-compose 对 vue3 项目的部署如何使用。
基础知识
Docker
一个开放源代码的容器化平台,允许开发者将应用及其依赖打包进轻量级、可移植的容器中。提供一个标准化的方式打包和运行应用,确保应用在不同环境中的一致性和可移植性。
功能:
- 容器化:将应用和其运行环境封装在一个容器中
- 镜像管理:创建、存储和分发容器镜像
- 容器运行:可以运行在任何支持Docker的环境中
docker-compose
Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。可简化多容器应用的配置和管理,适用于开发、测试和生产环境中的复杂应用。
功能:
- 多容器管理:允许用户在一个YAML文件中定义和管理多个容器
- 服务编排:配置容器间的网络和依赖关系
- 一键部署:使用docker-compose up命令启动、停止和重建服务
Compose的使用三步: - 使用 Dockerfile 自定义应用程序的环境,便于在任何地方复制它;
- 使用 docker-compose.yml 定义构成的应用程序的服务,便于隔离环境中一起运行;
- 运行 docker-compose up 命令启动并运行整个应用程序。
两者关系
Docker 是 Docker Compose 的前提,Docker Compose 是为了简化使用 Docker 时多容器应用的管理和部署而设计的。
两者之间相辅相成,Docker 提供容器化的核心功能,Docker Compose 则管理这些容器的组合和交互。
两者面向不同用户,Docker 面向任何需要容器化应用的用户,Docker Compose 则面向需要同时管理多个容器的开发者和运维团队。
安装步骤
查看服务器中 docker 版本
1
docker --version
Docker version 24.0.7, build afdd53b
在服务器中安装 docker-compose
1
2
3
4
5
6
7
8
9
10
11wget https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64
# 或将本地下载好的 docker-compose 放入服务器
scp docker-compose-linux-x86_64 root@***:/root
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 赋予执行权限
chmod +x /usr/local/bin/docker-compose
# 测试安装是否成功
docker-compose --version
部署步骤
将项目进行打包,生成 dist 文件夹。
1
npm run build
nginx 配置文件
查看 nginx 配置文件路径1
nginx -t
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
其中default.conf
用于 nginx 的配置,默认配置如下:
1 |
|
本机已安装过,可以直接使用;后测试发现若没有安装,可以直接手写一个配置文件default.conf
,只用于映射到 docker 容器中。
新建
docker-compose.yaml
文件,将 dist 文件夹和default.conf
进行文件映射。1
2
3
4
5
6
7
8
9
10version: "3.4"
services:
vue_test: # serviceName
container_name: vue_test # 唯一标识
image: nginx:1.9.0
ports:
- "8066:80"
volumes:
- /data/user01/feenv/dist/:/usr/share/nginx/html/
- /data/user01/feenv/default.conf:/etc/nginx/conf.d/default.conf报错
(root) Additional property restart is not allowed
可能是格式不对执行 docker-compose
1
docker-compose up -d
访问 IP:port 即可访问部署好的项目。
其他指令
1 |
|
问题记录
docker 拉取镜像报错:
解决方式一:修改 docker 镜像源【暂时验证不成功】
1 |
|
1 |
|
修改完毕后,重启 docker 服务:
1 |
|
问题出现了,这个修改没有起作用,依旧是原来的报错。。。有待keep looking。。。
附录
Docker Compose - 安装和基本使用
docker-compose部署Vue项目
YAML、YML在线编辑(校验)器
记录AF3部署
|– nginx.conf
|– docker-compose.yml
|– default-shenwei.conf
|– default-metastone.conf
|– dist-dev
| |– index.html
|– dist-metastone
| |– index.htmldocker-compose.yml
中添加两个服务:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!