Tag: laravel

Symfony进程pgrep失败

这是我的代码(Laravel) $process= new Symfony\Component\Process\Process("pgrep java"); try { $process->mustRun(); } catch (ProcessFailedException $e) { return $e->getMessage(); } return $process->getOutput(); 它失败。 当我尝试pgrep –help它成功。 我在java运行时试过,而不是。 这是错误的: 我也使用Docker,我已经试过: docker-compose exec workspace bash和cd到/var/www/laravel/public并且在java运行时执行pgrep java 。 当java运行时,如预期的那样,它输出PID。 pkill java也不起作用。 我想知道为什么。

如何在$ PATH上执行主机的命令?

我正在使用Composer作为Docker容器的一部分安装Laravel Installer。 Laravel是全局安装的,意思是~/.composer/vendor ,然后在~/.composer/vendor/bin下添加一个可执行文件。 我将~/.composer/vendor/bin目录添加到~/.composer/vendor/bin中的$PATH中,如下所示: ENV PATH="~/.composer/vendor/bin:${PATH}" 如果我运行命令docker exec -it php-fpm bash并从容器内运行echo $PATH我得到了以下内容: # echo $PATH /opt/remi/php71/root/usr/bin:/opt/remi/php71/root/usr/sbin:~/.composer/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 如果我在容器中运行命令laravel ,我得到了以下内容: # laravel Laravel Installer 1.3.3 Usage: command [options] [arguments] Options: -h, –help Display this help message -q, –quiet Do not output any message -V, –version Display this application version –ansi Force ANSI output –no-ansi Disable ANSI […]

Docker构成,将容器外的文件链接起来

我正在用docker-compose来做一个laravel项目和nginx。 这是我的docker-compose.yml: version: '2' services: backend: image: my_image depends_on: – elastic – mysql mysql: image: mysql:8.0.0 nginx: depends_on: – backend image: my_image ports: – 81:80 所以,我的Laravel项目在容器后端,如果我运行命令: docker-compose up -d没关系,所有容器都被创build,我的项目在端口81上运行。 我的问题是,在我的容器后端Laravel项目中,我有一个.env文件与数据库login,密码和其他东西。 docker-compose up之后如何编辑这个文件? 直接在容器中是不是一个好主意,有没有办法链接文件外的一个容器与docker组成? 谢谢

Nginx的代理服务器传递真正的IP不起作用

我在Docker容器中运行一个nginx反向代理服务器。 后端是在主机上运行的apache服务器,它正在侦听10082端口。 Laravel处理请求。 我用 $request->getClientIp() 得到真正的IP。 然而,直接通过http://myip:10082访问服务器的结果没有代理与通过反向代理访问它的结果冲突。 laravel中的testing代码: echo $request->ip().'<br>'; echo $request->headers->get('X-Real-IP').'<br>'; echo $request->getClientIp().'<br>'; 代理的结果: 192.168.80.2 218.205.17.167 192.168.80.2 没有代理的结果(XX.XXX.236.29是我的真实IP): XX.XXX.236.29 XX.XXX.236.29 nginx的configuration: server { listen 80; server_name myserver.com; access_log logs/myserver.access.log main; location / { proxy_pass http://myip:10082; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 我很困惑。 有人可以帮我解决这个问题吗? 谢谢!

Docker容器无法连接到远程SQL

我试图运行连接到客户端的公司的远程SQL服务器的laravel项目,我从laravel作为一个堆栈跟踪所有: "code": 20013, "message": "SQLSTATE[HY000] Unknown host machine name (severity 2) (SQL: get_member_head :id)", "file": "/share/vendor/laravel/framework/src/Illuminate/Database/Connection.php", "line": 770, 我试图改变docker桥的IP,在他们的VPN和外面运行,没有任何工作。 是sql server主机可以在docker外面ping,但是在里面(甚至在terminal里)显示同样的错误说unkown主机!

当nginx重新启动时,Docker容器崩溃

Nginx设置为运行laravel,问题只出现在我尝试重新启动容器内的nginx时。 然后停止容器而不在docker loglogging任何东西。 然后,然后本地机器在/var/crash使用_sbin_auplin.0.crash System program problem detected 这是崩溃文件的内容 ProblemType: Crash Architecture: amd64 Date: Thu Jul 13 13:29:33 2017 DistroRelease: Ubuntu 17.04 ExecutablePath: /sbin/auplink ExecutableTimestamp: 1453488440 ProcCmdline: auplink /var/lib/docker/aufs/mnt/a33d46e2ea4abfea807913ac65b8f3af701f9f74462b4bfa305255bce7f3f523 flush ProcCwd: /var/lib/docker/aufs/mnt/a33d46e2ea4abfea807913ac65b8f3af701f9f74462b4bfa305255bce7f3f523 ProcEnviron: LANG=en_ZA.UTF-8 LANGUAGE=en_ZA:en PATH=(custom, no user) ProcMaps: 00400000-00403000 r-xp 00000000 08:11 2753135 /sbin/auplink 00602000-00603000 r–p 00002000 08:11 2753135 /sbin/auplink 00603000-00604000 rw-p 00003000 08:11 […]

如何从Vagrant框连接到Docker容器中的MySQL数据库?

我有一个Symfony项目,我在3个docker集装箱中运行: 一个PHP-FPM容器 一个NginX容器 一个MySQL容器 我还有另一个(Laravel)项目正在通过预先包装的Vagrant Box设置(Homestead)。 我正在尝试从Laraval项目的Vagrant框中连接到MySQL数据库(Docker安装程序)。 我所知道的肯定是: 我可以通过Sequel Pro从我的主机连接到我的MySQL数据库。 主机:127.0.0.1 港口:3306 我不知道的是: 我应该在我的Laravel项目中定义哪个主机/端口,以便从我的Docker容器设置成功连接到MySQL数据库?

Docker在运行映像时执行命令

docker工人使用Laravel。 在我的dockerfile里面我有这个命令: RUN php artisan config:cache 由于cachingconfiguration,这对于生产非常有用。 当我开发时,我需要能够经常更改configuration,所以每次运行映像时都需要执行 RUN php artisan config:clear 有没有一种方法来运行一个给定的命令docker的形象? 即: docker run my_image "php artisan config:clear" (如果你想知道,我经常做docker run而不是docker start因为我经常构build镜像。)我想避免在dockerfile中使用CMD,因为它不是真的需要。 谢谢

将jenkins与docker-compose.yml文件集成为laravel项目

在我的docker-compose.yml文件下面: version: '2' services: webserver: build: . ports: – '85:80' volumes: – ./:/var/www/html – ./apache.conf:/etc/apache2/sites-available/000-default.conf depends_on: – db db: image: mysql:5.7 volumes: – "./.data/db:/var/lib/mysql" restart: always environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: laravel_db MYSQL_USER: laravel MYSQL_PASSWORD: laravel ports: – 3307:3306 phpmyadmin: image: nazarpc/phpmyadmin environment: MYSQL_ROOT_PASSWORD: root ports: – '88:80' depends_on: – db 我有PHP项目,我已经安排了所有的图像像Apache,MySQL和phpmyadmin运行我的项目与docker。 其实,我想在我的docker-compose.yml文件里编排jenkins,我没有find任何办法做到这一点 有一个人可以帮助我。

docker集装箱内的nohup服务

docker容器内的进程有问题: sudo docker exec -it php7-fpm bash -c 'nohup php /www/site/artisan queue:listen >> /www/site/nohup.log 2>&1' 服务工作正常,直到我按Ctrl + C。 有没有什么办法可以解决这个过程而不杀死它?