docker php composer 使用_Swoft2 教程系列-docker部署线上环境

先部署好docker环境 详细请看环境搭建

第二步 项目文件迁移

创建目录myweb,并把项目文件迁移至该目录
─ app/    ----- 应用代码目录
│   省略目录中的文件...
├── bin/
│   ├── bootstrap.php
│   └── swoft              ----- Swoft 入口文件
├── config/                ----- 应用配置目录
│   ├── base.php               ----- 基础配置
│   └── db.php                 ----- 数据库配置
├── public/                ----- 公共目录
├── resource/              ----- 应用资源目录
│   ├── language/              ----- 语言资源目录  
│   └── view/                  ----- 视图资源目录  
├── runtime/               ----- 临时文件目录(日志、上传文件、文件缓存等)
├── test/                  ----- 单元测试目录
│   └── bootstrap.php
├── composer.json
├── phar.build.inc
└── phpunit.xml.dist
├── env ----- 环境变量
├── docker-compose.yml  ----- docker配置项
└── phpunit.xml.dist

第三步 安装composer依赖

进入目录目录myweb

docker run --rm --interactive --tty  --volume $PWD:/app  composer install --ignore-platform-reqs --no-scripts

第四部 修改 docker-compose.yml

version: '3.4'
networks:
  mywebnet:
    driver: bridge
    ipam:
      config:
        - subnet: 172.23.0.0/16
services:
  redis:
    container_name: redis-srv
    image: redis:4-alpine
    ports:
      - "6379:6379"
    networks:
      mywebnet:
        ipv4_address: "172.23.0.2"
  consul1:
    command: "agent -server -client=0.0.0.0 -bootstrap-expect=1 -node=consul_server"
    container_name: consul_server
    image: "consul:latest"
    networks:
      mywebnet:
        ipv4_address: "172.23.0.5"
  consul2:
    command: "agent -client=0.0.0.0 -retry-join=consul_server -ui -node=consul_node1"
    container_name: consul_node1
    image: "consul:latest"
    ports:
      - "8500:8500"
    networks:
      mywebnet:
        ipv4_address: "172.23.0.6"
  swoft:
    image: swoft/swoft
    container_name: swoft-srv
    environment:
      - APP_ENV=dev
      - TIMEZONE=Asia/Shanghai
    networks:
      mywebnet:
        ipv4_address: "172.23.0.3"
    ports:
      - "18306:18306"
      - "18307:18307"
      - "18308:18308"
    volumes:
      - ./:/var/www/swoft
我们这里没有加上mysql,因为mysql使用的宿主机的mysql,如果需要docker安装mysql可以自己加上mysql容器.

执行脚本

docker-compose up -d

实际生产环境需要加一层 nginx代理 具体操作可以百度 其实很简单. 切记一定要加一层代理

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要

PHP进阶架构师>>>视频、面试文档免费获取​shimo.im
c037ae9dc517d2255f7579581554f273.png

或 者关注咱们下面的知乎专栏

PHP架构师圈子​zhuanlan.zhihu.com
d815aca397a7715432ff38849eb10a51.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值