## [PHP交流群:494826865(点击群号立即加群)](https://jq.qq.com/?_wv=1027&k=50Qy5h6) # swoft的安装 sowft的安装方式有多种,官方推荐,使用`docker`或者使用`docker-compose`进行安装。 1. 使用docker安装 ~~~ # 接取swoft镜像 docker pull swoft/swoft # 创建并运行容器,如果本地没有找到对应的镜像会自动拉取(注意端口不要冲突) docker run [-it] -p 18306:18306 --name swoft swoft/swoft [bash] ~~~ >[success] 这里只安装swoft,如果需要mysql和redis的话需要另外单独安装。 >[danger]使用这种方式安装后,其实只是部署了Swoft的运行环境,并安装了默认的Swoft的Demo。在实际的开发中,并不能直接在容器中进行开发,需要使容器代码和本地代码进行同步。后面会做详细的介绍。 2. 使用`docker-compose`安装 ~~~ # 这种方式的需要编写`docker-compose.yml`这个文件,执行时需要切换到swoft的项目根目录 git clone https://github.com/swoft-cloud/swoft cd swoft composer update/composer install docker-compose up ​ ~~~ 更改composer镜像 ~~~ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ ~~~ > 这种方式,可以根据自己的需要安装`mysql`和`redis` docker-compose.yml ~~~ version: '3.4' services: swoft:   image: swoft/swoft #   for local develop # 覆盖容器启动后默认执行的命令 #   command: php -S 127.0.0.1:13300   container_name: swoft-srv   environment:     - APP_ENV=dev     - TIMEZONE=Asia/Shanghai   restart: always   depends_on:     - mysql     - redis   ports:     - "18306:18306"     - "18307:18307"     - "18308:18308"   volumes:       - ./:/var/www/swoft  # - ./:/var/www/swoft:delegated  # - ./:/var/www/swoft:cached      # - ./runtime/ng-conf:/etc/nginx      # - ./runtime/logs:/var/log ​ mysql:   image: mysql # mysql 版本默认是8.0   container_name: mysql-srv   environment:     - MYSQL_ROOT_PASSWORD=123456   ports:     - "13306:3306"   volumes:     - ./runtime/data/mysql:/var/lib/mysql   restart: always ​ redis:   container_name: redis-srv   image: redis:4-alpine   ports:     - "16379:6379"   sysctls:     net.core.somaxconn: 65535   restart: always ​ ~~~ >[success] 以上方式swoft安装后,一般默认会将`php bin/swoft http:start`作为容器的第一个进程,无法停止!这要的话不利于后期的手动启动服务。 >[danger]使用这种方式安装之后,默认情况下已做了源码同步。所以一般建议使用这种方式进行安装。