Прокопенко Алексей
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 |
#!/bin/bash |
||||
cd $HOME/structure |
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