Прокопенко Алексей
4 years ago
4 changed files with 114 additions and 32 deletions
-
2bash/mysql.sh
-
34docker-compose.yml.example
-
9dockerfiles/db/Dockerfile
-
101dockerfiles/workspace/xdebug.sh
@ -1,3 +1,3 @@ |
|||
#!/bin/bash |
|||
cd $HOME/structure |
|||
docker-compose exec db mysql -u root -p123456 |
|||
docker-compose exec db bash -c 'LANG=ru_RU.UTF-8 mysql -u root -p123456' |
@ -0,0 +1,9 @@ |
|||
FROM mariadb |
|||
|
|||
RUN apt update && apt install -y locales |
|||
|
|||
RUN sed -i 's/# ru_RU.UTF-8/ru_RU.UTF-8/' /etc/locale.gen |
|||
|
|||
RUN locale-gen |
|||
|
|||
RUN echo "export LANG=ru_RU.UTF-8" > /root/.bashrc |
@ -0,0 +1,101 @@ |
|||
#! /bin/bash |
|||
|
|||
# NOTE: At the moment, this has only been confirmed to work with PHP 7 |
|||
|
|||
|
|||
# Grab full name of workspace container |
|||
WORKSPACE_CONTAINER=$(docker ps | grep workspace | awk '{print $1}') |
|||
|
|||
|
|||
# Grab OS type |
|||
if [[ "$(uname)" == "Darwin" ]]; then |
|||
OS_TYPE="OSX" |
|||
else |
|||
OS_TYPE=$(expr substr $(uname -s) 1 5) |
|||
fi |
|||
|
|||
|
|||
xdebug_status () |
|||
{ |
|||
echo 'xDebug status' |
|||
|
|||
# If running on Windows, need to prepend with winpty :( |
|||
if [[ $OS_TYPE == "MINGW" ]]; then |
|||
winpty docker exec -it $WORKSPACE_CONTAINER bash -c 'php -v' |
|||
|
|||
else |
|||
docker exec -it $WORKSPACE_CONTAINER bash -c 'php -v' |
|||
fi |
|||
|
|||
} |
|||
|
|||
|
|||
xdebug_start () |
|||
{ |
|||
echo 'Start xDebug' |
|||
|
|||
# And uncomment line with xdebug extension, thus enabling it |
|||
ON_CMD="sed -i 's/^;zend_extension=/zend_extension=/g' \ |
|||
/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini" |
|||
|
|||
|
|||
# If running on Windows, need to prepend with winpty :( |
|||
if [[ $OS_TYPE == "MINGW" ]]; then |
|||
winpty docker exec -it $WORKSPACE_CONTAINER bash -c "${ON_CMD}" |
|||
docker restart $WORKSPACE_CONTAINER |
|||
winpty docker exec -it $WORKSPACE_CONTAINER bash -c 'php -v' |
|||
|
|||
else |
|||
docker exec -it $WORKSPACE_CONTAINER bash -c "${ON_CMD}" |
|||
docker restart $WORKSPACE_CONTAINER |
|||
docker exec -it $WORKSPACE_CONTAINER bash -c 'php -v' |
|||
fi |
|||
} |
|||
|
|||
|
|||
xdebug_stop () |
|||
{ |
|||
echo 'Stop xDebug' |
|||
|
|||
# Comment out xdebug extension line |
|||
OFF_CMD="sed -i 's/^zend_extension=/;zend_extension=/g' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini" |
|||
|
|||
|
|||
# If running on Windows, need to prepend with winpty :( |
|||
if [[ $OS_TYPE == "MINGW" ]]; then |
|||
# This is the equivalent of: |
|||
# winpty docker exec -it laradock_php-fpm_1 bash -c 'bla bla bla' |
|||
# Thanks to @michaelarnauts at https://github.com/docker/compose/issues/593 |
|||
winpty docker exec -it $WORKSPACE_CONTAINER bash -c "${OFF_CMD}" |
|||
docker restart $WORKSPACE_CONTAINER |
|||
#docker-compose restart php-fpm |
|||
winpty docker exec -it $WORKSPACE_CONTAINER bash -c 'php -v' |
|||
|
|||
else |
|||
docker exec -it $WORKSPACE_CONTAINER bash -c "${OFF_CMD}" |
|||
# docker-compose restart php-fpm |
|||
docker restart $WORKSPACE_CONTAINER |
|||
docker exec -it $WORKSPACE_CONTAINER bash -c 'php -v' |
|||
fi |
|||
} |
|||
|
|||
|
|||
case $@ in |
|||
stop|STOP) |
|||
xdebug_stop |
|||
;; |
|||
start|START) |
|||
xdebug_start |
|||
;; |
|||
status|STATUS) |
|||
xdebug_status |
|||
;; |
|||
*) |
|||
echo "xDebug [Stop | Start | Status] in the ${WORKSPACE_CONTAINER} container." |
|||
echo "xDebug must have already been installed." |
|||
echo "Usage:" |
|||
echo " .php-fpm/xdebug stop|start|status" |
|||
|
|||
esac |
|||
|
|||
exit 1 |
Write
Preview
Loading…
Cancel
Save
Reference in new issue