1 回答

TA贡献1789条经验 获得超10个赞
使用docker-compose exec命令时会一直运行,直到它的交互式会话停止(通过使用ctrl-c或关闭终端),因为它不是作为服务运行的。为了能够保持以下命令运行
docker-compose exec app php artisan serve
您必须打开 2 个终端,1 个使用命令,1 个连接到容器和 ping 端口 8000
如果要访问容器端口 8000,则必须8000在Dockerfile 中公开该端口:
# rest of docker file
# Copy existing application directory permissions
#COPY --chown=www-data:www-data ./code /var/www/html
# Change current user to www-data
#USER www-data
# Expose port 9000 and start php-fpm server
EXPOSE 80
EXPOSE 80000
并将其映射到docker-compose( file ) 中的主机:
app:
build:
context: .
dockerfile: .config/php/Dockerfile
image: salvio/php-composer-dev
container_name: app
restart: unless-stopped
tty: true
environment:
SERVICE_NAME: app
SERVICE_TAGS: dev
working_dir: /var/www/html
ports:
- "80:80"
- "8000:8000"
volumes:
- ./code/:/var/www/html
- .config/php/php.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- myproject-network
请记住php artisan serve绑定到localhost:8000. 这意味着这只能在容器内访问。用
php artisan serve --host 0.0.0.0
- 1 回答
- 0 关注
- 395 浏览
添加回答
举报