swoft-cloud / swoft

🚀 PHP Microservice Full Coroutine Framework
https://swoft.org
Apache License 2.0
5.58k stars 786 forks source link

docker安装后,如何进入容器? #794

Closed wzfjesun closed 5 years ago

wzfjesun commented 5 years ago

git clone https://github.com/swoft-cloud/swoft cd swoft docker-compose up docker方式安装完成后, 因为没有vendor,需要运行composer install, 问题是我该 如何才能进入容器去执行composer命令呢? 执行:docker-compose exec swoft bash 也不行

wzfjesun commented 5 years ago

补充: 执行命令:docker-compose exec swoft bash 报错: Error response from daemon: Container aafbd8ca6ae565701c102fa694e2175dd041dd0579e589c93df53a0cb35b3ffa is restarting, wait until the container is running

fkwl commented 5 years ago

反正挺尴尬

ChangeChe commented 5 years ago

直接docker exec -it xxx bash 啊

pandaxxw commented 5 years ago

同遇到 很尴尬

pandaxxw commented 5 years ago

同遇到 很尴尬

beckjiang218 commented 5 years ago

之前的swoft/swoft:latest镜像打包的是1.x的代码,使用2.x版本代码运行会有问题。不过前几天官方镜像做了更新,应该是使用2.x版本代码构建的。

不过更新了最新的镜像后,启动时仍有遇到错误,是因为vendor目录的问题。如果你也遇到这个问题,可以尝试这么做:

  1. 重新拉取最新镜像
    docker pull swoft/swoft:latest
  2. 拉取代码
    git clone https://github.com/swoft-cloud/swoft
    cd swoft
  3. 安装依赖或者排除挂载vendor目录 a.安装依赖
    composer install

    或者 b.排除挂载vendor目录 修改docker-compose.yml文件,在swoft服务下增加一个挂载:

    
    services:
    swoft:
    ...
    ...
    volumes:
      - ./:/var/www/swoft
      - /var/www/swoft/vendor    #<-----增加这一行
    ...

两个方式选一个,如果是要学习框架,那就composer install吧;如果只是想运行体验,那么第二个方法会快一些。

4. 启动

docker-compose up

wzfjesun commented 5 years ago

swoft2感觉还不太稳定