当前位置: 首页 > news >正文

Docker Desktop 打包Unity WebGL 程序,在Docker 中运行Unity WebGL 程序

Docker Desktop 打包Unity WebGL 程序,在Docker 中运行Unity WebGL 程序

目录

  1. 环境准备
  2. Nginx配置
  3. 容器操作
  4. 镜像管理
  5. 常用命令

环境准备

前提条件

  • 已安装Unity并完成WebGL构建
  • 已安装Docker环境

验证Docker安装

# 检查Docker版本
docker --version# 测试基础功能
docker pull hello-world
docker run hello-world

获取Nginx镜像

#获取最新版本nginx
docker pull nginx#获取指定版本的ngixn
docker pull nginx:1.25.3      

拉取镜像下载中

下载完成


Nginx配置

目录结构准备

mkdir F:\DockerHostFiles\nginx_data\html
mkdir F:\DockerHostFiles\nginx_data\conf

目录结构2

目录结构

配置文件 (default.conf)

这里的配置很奇怪,只要有server块就行,有其他块会报错。

server {listen       7963;server_name  localhost;root   /usr/share/nginx/html;index  index.html index.htm;# 日志配置error_log  /var/log/nginx/error.log debug;access_log /var/log/nginx/access.log main;# 静态文件服务location / {try_files $uri $uri/ /index.html;gzip off;  # 禁用动态压缩# CORS配置add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';}# 预压缩文件处理location ~ \.gz$ {sendfile off;directio off;tcp_nopush off;gzip off;add_header 'Content-Encoding' 'gzip';# 按类型设置MIMElocation ~ \.js\.gz$ { types { application/javascript gz; } }location ~ \.wasm\.gz$ { types { application/wasm gz; } }location ~ \.data\.gz$ { default_type application/octet-stream; }}# 原始文件处理location ~ \.(js|wasm|data)$ {sendfile off;location ~ \.js$ { types { application/javascript js; } }location ~ \.wasm$ { types { application/wasm wasm; } }location ~ \.data$ { default_type application/octet-stream; }}# 错误页面error_page 404 /404.html;location = /404.html { internal; }
}

容器操作

启动Nginx容器

运行nginx并且设置卷映射,
这里映射的端口应该和ngixn中的端口一致,在主机的58231端口绑定到容器的7963端口上

docker run -d --name my-nginx docker运行容器名称为 my-nginx
-v F:\DockerHostFiles\nginx_data\html:/usr/share/nginx/html \绑定html路径
-v F:\DockerHostFiles\nginx_data\conf:/etc/nginx/conf.d \绑定conf路径
-p 58231:7963 \绑定端口主机端口58231 映射到docker的7963端口
nginx使用的镜像是 nginx
docker run -d --name my-nginx \-v F:\DockerHostFiles\nginx_data\html:/usr/share/nginx/html \-v F:\DockerHostFiles\nginx_data\conf:/etc/nginx/conf.d \-p 58231:7963 \nginx

镜像管理

提交容器为新镜像

-a 创作者名称
-m 日志信息
my-nginx 容器名称
my-nginx-unity-webgl-app 导出的新的镜像名称

命令内容
docker commit提交
-a作者名称
-m日志内容
my-nginx容器名称
my-nginx-unity-webgl-app保存的镜像名称
docker commit -a "wyh" -m "Unity WebGL应用镜像" my-nginx my-nginx-unity-webgl-app

这时候可以使用docker images 看到有一个新的镜像被添加到镜像列表

导出镜像

将指定的镜像保存到指定的路径中,路径应使用双引号包裹

docker save -o将文件保存输出
“M:\DockerHostFiles\outFiles\Nginx_outFiles\my-unity-webgl-app.tar”输出路径,包名
my-nginx-unity-webgl-app
docker save -o "M:\DockerHostFiles\outFiles\Nginx_outFiles\my-unity-webgl-app.tar" my-nginx-unity-webgl-app

导入镜像

将刚刚的镜像导入到docekr中,但是需要先将之前的镜像删除docker rmi my-nginx-unity-webgl-app

docker load -idocker 加载
“M:\DockerHostFiles\outFiles\Nginx_outFiles\my-unity-webgl-app.tar”被包的路径
docker load -i "M:\DockerHostFiles\outFiles\Nginx_outFiles\my-unity-webgl-app.tar"

验证镜像

docker images

常用命令参考

# 查看Docker系统信息
docker info# 查看版本信息
docker version# 查看运行中的容器
docker ps# 查看所有容器
docker ps -a# 重启容器
docker restart [容器名称/ID]# 启动已停止容器
docker start [容器名称/ID]# 停止容器
docker stop [容器名称/ID]# 执行容器内命令
# 在my-nginx 这个容器中执行nginx -s reload 命令
docker exec -it my-nginx nginx -s reload
http://www.dtcms.com/a/293991.html

相关文章:

  • Unity国际版下载链接分享(非c1国内版)
  • Java面试题035:一文深入了解Docker
  • SQL基础⑧ | 表格篇
  • Android插件化实现方案深度分析
  • 智能小e-外联系统文档
  • CentOS 7 Linux 用 yum 安装 Docker,含 Docker 镜像无法拉取问题(即 docker pull 失败)的解决方案
  • 基于LNMP分布式个人云存储
  • 深入理解 Java Builder 设计模式:解决构造函数爆炸问题
  • 旧系统UI焕新陷阱:保留业务习惯与引入新交互的平衡点把控
  • JNPF组织权限,让企业权限体系更清晰高效​
  • TARA分析学习
  • 亚远景-传统功能安全VS AI安全:ISO 8800填补的标准空白与实施难点
  • Django 入门详解:从零开始构建你的第一个 Web 应用
  • YOLOv5模型剪枝实战教程
  • 从8h到40min的极致并行优化:Spark小数据集UDTF处理的深度实践与原理剖析
  • 分布式系统中的缓存设计与应用
  • 前端实现可编辑脑图的方案
  • 一洽客服系统:小程序接入功能说明
  • 关于单片机的无符号整型uint32_x
  • 代码随想录算法训练营第五十二天|图论part3
  • 使用 gh-pages 将 next.js15 静态项目部署到 github pages
  • 重磅发布:Oracle ADG 一键自动化搭建脚本
  • OceanBase数据库
  • 如何在macOS上修改iPhone的定位
  • Qt 自定义控件开发方法与实践
  • cx_Freeze python 打包详解
  • Qt 数据QByteArray与QString处理与转换全指南
  • QT的moveToThread 用法
  • Java按模板导出Excel
  • LoRA 低秩矩阵实现参数高效的权重更新