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 關注
- 463 瀏覽
添加回答
舉報