{"id":30178408,"url":"https://github.com/webman-tech/docker","last_synced_at":"2025-08-12T05:20:51.095Z","repository":{"id":37659871,"uuid":"496175488","full_name":"webman-tech/docker","owner":"webman-tech","description":"webman docker","archived":false,"fork":false,"pushed_at":"2025-08-01T01:25:28.000Z","size":28,"stargazers_count":32,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-01T03:26:07.832Z","etag":null,"topics":["docker","webman"],"latest_commit_sha":null,"homepage":"","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/webman-tech.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,"zenodo":null}},"created_at":"2022-05-25T10:01:20.000Z","updated_at":"2025-08-01T01:25:32.000Z","dependencies_parsed_at":"2022-09-07T22:01:12.816Z","dependency_job_id":"1a9097ba-9ee6-409a-8cdd-b6c2580027e6","html_url":"https://github.com/webman-tech/docker","commit_stats":{"total_commits":25,"total_committers":1,"mean_commits":25.0,"dds":0.0,"last_synced_commit":"25873bee5bf414d0f0daa4108901ec09a3cebd4e"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/webman-tech/docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webman-tech%2Fdocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webman-tech%2Fdocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webman-tech%2Fdocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webman-tech%2Fdocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webman-tech","download_url":"https://codeload.github.com/webman-tech/docker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webman-tech%2Fdocker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270005591,"owners_count":24510939,"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","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["docker","webman"],"created_at":"2025-08-12T05:20:48.594Z","updated_at":"2025-08-12T05:20:51.076Z","avatar_url":"https://github.com/webman-tech.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# webman docker\n\n## 简介\n\n将 docker 用于 webman 的开发和生产部署\n\n### 镜像地址和 tag\n\n[docker hub](https://hub.docker.com/r/krisss/docker-webman)\n\n- krisss/docker-webman:7.4-cli-alpine\n- krisss/docker-webman:8.0-cli-alpine\n- krisss/docker-webman:8.1-cli-alpine\n- krisss/docker-webman:8.2-cli-alpine\n- krisss/docker-webman:8.3-cli-alpine\n\n\u003e 此镜像会通过 github actions 动态更新 php 的小版本，镜像 tag 名不变\n\n\u003e 2.3.0 之后增加类似 `7.4-cli-alpine-v2.3.0` 形式的镜像版本，用于固定一个在发布版本时当前镜像中的各个组件版本（求稳可以用这种版本的镜像）\n\n### 镜像中的组件\n\n- [php](https://hub.docker.com/_/php): extension 包含：bcmath、event、gd、mysqli、pdo_mysql、opcache、pcntl、redis、sockets、zip\n- [composer](https://getcomposer.org/)\n- [install-php-extensions](https://github.com/mlocati/docker-php-extension-installer)\n- [supervisor](http://supervisord.org/)\n\n## 安装\n\n```bash\ncomposer require webman-tech/docker\n```\n\n会在项目根目录下提供 `Dockerfile` 用于构建镜像，提供 `docker-compose.yml` 用于开发\n\n## 使用\n\n### 当开发环境使用：目前代码未建立\n\n启动镜像\n\n```bash\ndocker run --rm --name webman \\\n -v /local/workspace:/app \\\n -p 8787:8787 \\\n -it \\\n --privileged -u root \\\n --entrypoint /bin/sh \\\n krisss/docker-webman:7.4-cli-alpine\n```\n\n创建项目\n\n```bash\ncomposer create-project workerman/webman\n```\n\n启动项目\n\n```bash\ncd webman\nphp start.php start\n```\n\n访问 http://localhost:8787 即可\n\n### 当开发环境使用：已有 webman 代码\n\n在项目下自建 `docker-compose.yml`，参考例子如下：\n\n```yml\nversion: \"3.7\"\n\nservices:\n  webman:\n    image: krisss/docker-webman:${DOCKER_WEBMAN_VERSION:-7.4-cli-alpine}\n    ports:\n      - \"${DOCKER_WEBMAN_PORT:-8787}:8787\"\n    volumes:\n      - .:/app\n```\n\n启动：\n\n```bash\ndocker-compose up\n```\n\n访问 http://localhost:8787 即可\n\n\n### 打包项目成镜像\n\n在项目下自建 `Dockerfile`，参考例子如下：\n\n```Dockerfile\nARG WEBMAN_DOCKER_VERSION=7.4-cli-alpine\n\n# https://github.com/krissss/docker-webman\nFROM krisss/docker-webman:$WEBMAN_DOCKER_VERSION\n\n# 增加额外的扩展\n#RUN install-php-extensions imagick\n\n# 设置配置文件\n# 自定义 php 配置文件，如果需要的话\n# 覆盖镜像自带的\n#COPY environments/docker/php.ini \"$PHP_INI_DIR/conf.d/app.ini\"\n# 扩展额外的\n#COPY environments/docker/my_php.ini \"$PHP_INI_DIR/conf.d/my_php.ini\"\n# 自定义 supervisor 配置，如果需要的话\n# 覆盖镜像自带的\n#COPY environments/docker/supervisord.conf /etc/supervisor/supervisord.conf\n# 扩展额外的\n#COPY environments/docker/my_supervisord.conf /etc/supervisor/conf.d/my_supervisord.conf\n\n# 预先加载 Composer 包依赖，优化 Docker 构建镜像的速度\nCOPY ./composer.json /app/\nCOPY ./composer.lock /app/\nRUN composer install --no-interaction --no-dev --no-autoloader --no-scripts\n\n# 复制项目代码\nCOPY . /app\n\n# 执行 Composer 自动加载和相关脚本\nRUN composer install --no-interaction --no-dev \u0026\u0026 composer dump-autoload\n\n```\n\n编译：\n\n```bash\ndocker build -t {image-name} .\n```\n\n运行：\n\n```bash\ndocker run --rm -p 8787:8787 {image-name}\n```\n\n访问 http://localhost:8787 即可\n\n\n## For Developer\n\n修改 Dockerfile 后测试方式：\n\n1. 新建 `.env` 文件，其中配置 `docker-compose.yml` 中的 env 变量\n2. 执行build：`docker-compose build webman`\n3. 本机测试：`docker run --rm -it {ImageName}:{ImageTag} /bin/sh`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebman-tech%2Fdocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebman-tech%2Fdocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebman-tech%2Fdocker/lists"}