【Docker】外部的composer如何使用容器的PHP?

描述

如果不想把composer直接制作到PHP的镜像中. 想直接安装在主机应该如何来使用容器的PHP呢?

回答

我目前的结构是构建了一个composer容器自动去构建,如果你的宿主机有composer你可以直接进入composer.json下使用就可以了,挂载了Volume数据卷会同步在容器内部的。

下面是我现在使用的compose文件

version:  '3.0'

services:

##基础环境

nginx:

image: nginx:1.13.3

volumes:

- /etc/localtime:/etc/localtime:ro

#网站目录

- ./app:/var/www/html

- ./dockerfiles/nginx/conf.d:/etc/nginx/conf.d:ro

#日志文件

- ./logs/nginx:/var/log/nginx

links:

- "php-fpm:php-fpm"

ports:

- "80:80"

command: nginx -g 'daemon off;'

mysql-db:

image: mysql:5.5

#很重要导入到处数据

volumes:

- /etc/localtime:/etc/localtime:ro

- ./data/mysql:/var/lib/mysql:rw

- ./logs/mysql:/var/lib/mysql-logs:rw

- ./dockerfiles/mysql/conf.d:/etc/mysql/conf.d:ro

environment:

MYSQL_ROOT_PASSWORD: zhaojun

MYSQL_DATABASE: lottery_api_sale

MYSQL_USER: zhaojun

MYSQL_PASSWORD: zhaojun

ports:

- "3306:3306"

deploy:

restart_policy:

condition: any

redis-db:

image: redis

volumes:

- ./data/redis:/data

- /etc/localtime:/etc/localtime:ro

deploy:

restart_policy:

condition: any

php-fpm:

build: ./dockerfiles/php/

restart: always

environment:

TP_APP_DEBUG: 'true'

volumes:

#网站目录

- ./app:/var/www/html:rw

#配置文件

- ./dockerfiles/php/php.ini:/usr/local/etc/php/php.ini:ro

- ./dockerfiles/php/php-fpm.conf:/usr/local/etc/php-fpm.conf:ro

#挂载站点日志

- ./logs/php-fpm:/var/log/php-fpm:rw

depends_on:

- mysql-db

- redis-db

links:

- mysql-db:mysql-db

- redis-db:redis-db

command: php-fpm

##附加扩展安装器

composer:

image: composer:1.4.2

volumes:

- /etc/localtime:/etc/localtime:ro

- ./app:/app:rw

working_dir: /app/webroot

deploy:

restart_policy:

condition: none

command: composer install

bower:

image: digitallyseamless/nodejs-bower-grunt

volumes:

- /etc/localtime:/etc/localtime:ro

- ./app:/app:rw

working_dir: /app/webroot

deploy:

restart_policy:

condition: none

command: bower install

之前我没有构建bower composer,是直接在宿主机上进行构建的

@Godtoy 大神,帮我看看我的问题:
【Docker】外部的composer如何使用容器的PHP?
虽然php的docker里已经安装了gd库,并且phpinfo也能查看得到,但是为啥这里我装其他类库的时候提示没找到gd库呢,我的php,mysql,nginx全是在docker里,composer也是拉的最新的docker。实在不明白是啥情况了,是不是也composer也要挂接php的docker呢?如何挂接的呢。。。

以上是 【Docker】外部的composer如何使用容器的PHP? 的全部内容, 来源链接: utcz.com/a/74889.html

回到顶部