{"id":23107051,"url":"https://github.com/ganl/rap2-docker","last_synced_at":"2025-06-11T14:35:57.313Z","repository":{"id":93849996,"uuid":"145678411","full_name":"ganl/rap2-docker","owner":"ganl","description":null,"archived":false,"fork":false,"pushed_at":"2022-04-14T13:09:45.000Z","size":34,"stargazers_count":3,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T15:11:50.370Z","etag":null,"topics":["delos","docker","dolores","rap","rap2"],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ganl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-22T08:19:14.000Z","updated_at":"2022-04-14T13:09:49.000Z","dependencies_parsed_at":"2023-06-15T09:45:10.559Z","dependency_job_id":null,"html_url":"https://github.com/ganl/rap2-docker","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganl%2Frap2-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganl%2Frap2-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganl%2Frap2-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganl%2Frap2-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ganl","download_url":"https://codeload.github.com/ganl/rap2-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganl%2Frap2-docker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259280663,"owners_count":22833434,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["delos","docker","dolores","rap","rap2"],"created_at":"2024-12-17T01:12:09.689Z","updated_at":"2025-06-11T14:35:57.306Z","avatar_url":"https://github.com/ganl.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rap2-docker\n\n在 **Docker** 上快速搭建 **RAP2** 应用。\n\n## 安装\n\n克隆仓库\n\n`git clone https://github.com/ganl/rap2-docker.git`\n\n初始化并更新submodule,主要是下载最新rap2-delos和rap2-dolores\n\n```\ngit submodule init\ngit submodule update\n\n#官方代码经常不能正常编译，可修改.gitmodules中的url为自己的fork库；修改后执行\ngit submodule sync\ngit submodule update --remote\n```\n\n## 修改配置\n\n复制env文件\n\n`mv env-example .env`\n\n修改.env，主要的几个地方：\n\n* 修改dolores（前端）中访问delos（接口）服务serve相关值\n\n```\n# used in config.prod.ts, \nDELOS_SERVE_PROTOCOL=http\n# local's IP or Domain or hostname\nDELOS_SERVE_HOST=localhost\n#Generally, same with DELOS_PORT, expose port\nDELOS_SERVE_PORT=8888\n```\n\n后端和前端分离部署的（两个docker），此处配置会替换dolores的config.prod.ts中serve的值，修改后需要重新编译前端`dolores`镜像；如上配置dolores将通过 `http://localhost:8888` 访问后端`delos`。\n\n* 修改本地存储路径\n\nmysql存放路径，建议第一次部署确定好路径；修改路径数据不会自动Migrate，需手动导出再导入\n\n`DATA_PATH_HOST=~/.rap2/data`\n\n* 修改DOLORES本地映射端口（镜像内运行端口80不可配，expose端口可配）\n\n`DOLORES_PORT=80`\n\n* 修改DELOS运行端口（默认8080，代码取的环境变量`SERVE_PORT`的值）\n\n`DELOS_PORT=8880`\n\n\n**修改`DELOS_SERVE_PROTOCOL`和`DELOS_SERVE_HOST`以及`DELOS_SERVE_PORT`，需要执行`docker-compose build dolores`编译前端镜像；后端delos不用重新编译**\n\n![](https://github.com/ganl/mdAssets/blob/master/img/rap2-docker/running.jpg?raw=true)\n\n## 使用\n\n1 - 启动\n\n`docker-compose up dolores`\n\n```\n➜  rap2-docker git:(master) docker-compose ps\n     Name                   Command               State                 Ports               \n--------------------------------------------------------------------------------------------\nrap2_delos_1     node dispatch.js                 Up      0.0.0.0:8088-\u003e80/tcp              \nrap2_dolores_1   /bin/sh -c http-server -s  ...   Up      0.0.0.0:8888-\u003e80/tcp              \nrap2_mysql_1     docker-entrypoint.sh mysqld      Up      0.0.0.0:13306-\u003e3306/tcp, 33060/tcp\nrap2_redis_1     docker-entrypoint.sh redis ...   Up      0.0.0.0:16379-\u003e6379/tcp\n```\n\n2 - 初始化DB\n\n```bash\n➜  rap2-docker git:(master) docker-compose exec delos sh\n/app # node scripts/init\n```\n\n3 - 后台运行容器\n\n```\ndocker-compose down\ndocker-compose up -d dolores\n```\n\n4 - 修改admin密码\n\n`docker-compose exec mysql bash`\n\n用.env中设定的密码登录数据库，默认`root!pwd`\n\n```bash\n#mysql -u root -p \n\u003e use rap2\n\u003e update Users set password = '14e1b600b1fd579f47433b88e8d85291' where fullname = 'admin';\n```\n修改后的admin密码为123456，初始化的登录邮箱为admin@rap2.com\n\n## 升级\n\n1 - 升级DB\n\n```bash\n➜  rap2-docker git:(master) docker-compose exec delos node scripts/updateSchema\n\n/app # node scripts/updateSchema\n```\n\n2 - 升级镜像\n\n```bash\ndocker-compose down\n# 重新构建并启动\ndocker-compose up --build -d dolores\n\ndocker image prune -f\n```\n\n\u003ca name=\"Docker\"\u003e\u003c/a\u003e\n### [Docker]常用命令\n\n\u003ca name=\"List-current-running-Containers\"\u003e\u003c/a\u003e\n### 列出正在运行的容器\n```bash\ndocker ps\n```\n\n你也可以使用以下命令查看某项目的容器\n```bash\ndocker-compose ps\n```\n\n\u003ca name=\"Close-all-running-Containers\"\u003e\u003c/a\u003e\n### 关闭所有容器\n```bash\ndocker-compose stop\n```\n\n停止某个容器:\n\n```bash\ndocker-compose stop {容器名称}\n```\n\n\u003ca name=\"Delete-all-existing-Containers\"\u003e\u003c/a\u003e\n### 删除所有容器\n```bash\ndocker-compose down\n```\n\n\u003ca name=\"Enter-Container\"\u003e\u003c/a\u003e\n### 进入容器 (通过 SSH 进入一个运行中的容器)\n\n1 - 首先使用 `docker ps` 命令查看正在运行的容器\n\n2 - 进入某个容器使用:\n\n```bash\ndocker-compose exec {container-name} bash # mysql redis\ndocker-compose exec {container-name} sh   # delos dolores\n```\n\n*例如: 进入 MySQL 容器*\n\n```bash\ndocker-compose exec mysql bash\n```\n\n3 - 退出容器, 键入 `exit`.\n\n### [使用阿里云镜像加速]\n\nel7\n\n```\ncurl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun\n\nsudo service docker start\n```\n\n修改daemon配置文件/etc/docker/daemon.json来使用加速器, 加速地址获取：[https://cr.console.aliyun.com/cn-hangzhou/mirrors]()\n\n`sudo mkdir -p /etc/docker`\n\n```\nsudo tee /etc/docker/daemon.json \u003c\u003c-'EOF'\n{\n  \"registry-mirrors\": [\"https://9cujqpdr.mirror.aliyuncs.com\"]\n}\nEOF\n```\n```\nsudo systemctl daemon-reload\nsudo systemctl restart docker\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fganl%2Frap2-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fganl%2Frap2-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fganl%2Frap2-docker/lists"}