【发布时间】:2019-12-28 21:26:06
【问题描述】:
我正在尝试创建一个 composer 容器 (Dockerfile) 并在我的 docker-compose.yml 中使用这个容器,但看起来容器没有启动。
我每次运行docker-compose up时都会遇到以下消息
docker_composer_1 以代码 0 退出
这些是我的 Dockerfile 和 docker-compose.yml 文件:
Dockerfile
#composer
FROM composer
EXPOSE 9090
docker-compose.yml
version: '3'
services:
php-fpm:
build:
context: ./php-fpm
volumes:
- ../src:/var/www
nginx:
build:
context: ./nginx
ports:
- "80:80"
volumes:
- ../src/html:/var/www/html
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/sites/:/etc/nginx/sites-available
- ./nginx/conf.d/:/etc/nginx/conf.d
depends_on:
- php-fpm
database:
build:
context: ./database
ports:
- "3306:3306"
environment:
- MYSQL_DATABASE=mydb
- MYSQL_USER=myuser
- MYSQL_PASSWORD=secret
- MYSQL_ROOT_PASSWORD=docker
volumes:
- ./database/data.sql:/docker-entrypoint-initdb.d/data.sql
phpmyadmin:
build:
context: ./phpmyadmin
environment:
- PMA_HOST=database
- PMA_PORT=3306
- MYSQL_ROOT_PASSWORD=docker
ports:
- "8080:80"
depends_on:
- database
composer:
build:
context: ./composer
volumes:
- ../src/html:/var/www/html
ports:
- "9090:80"
我不想将 Composer 安装到 php 容器中。 我不认为这是一个优雅的解决方案。
我该如何解决这个问题?
【问题讨论】:
-
我们本地的 80 端口很有可能已经被使用。尝试改变它?
-
容器正在运行什么命令?您可以将其
Dockerfile添加到问题中吗? “Exited with code 0”一般表示“运行成功”。 -
@JoshBeauregard 不起作用。我刚试过
-
@DavidMaze dockerfile 代码列在此代码块的第一行。
-
如果你
docker-compose run composer孤立,会发生什么?你预计会发生什么?
标签: docker docker-compose composer-php yaml dockerfile