mglaman / platform-docker Goto Github PK
View Code? Open in Web Editor NEWLocal development tool for PHP platforms using Docker Compose
License: GNU General Public License v2.0
Local development tool for PHP platforms using Docker Compose
License: GNU General Public License v2.0
The Solr config is the default config out of the Search API Solr module. However not sure is this is generic enough to support other platforms.
Problem 1
- Installation request for mglaman/platform-docker 1.0.1 -> satisfiable by mglaman/platform-docker[1.0.1].
- mglaman/platform-docker 1.0.1 requires mglaman/toolstack-helper dev-master -> no matching package found
Try to declare the purpose and mission of this tool. Dish out info on how to contribute.
On product/add/default
any ideas?
Matts-MacBook-xxxx mglaman$ platform-docker link -vvv
Docker environment information not exported. Attempting from PLATFORM_DOCKER_MACHINE_NAME
[Exception]
Error executing docker command
Exception trace:
() at /Users/mglaman/.composer/vendor/mglaman/docker-helper/src/DockerBase.php:58
mglaman\Docker\DockerBase::runCommand() at /Users/mglaman/.composer/vendor/mglaman/docker-helper/src/Docker.php:61
mglaman\Docker\Docker::inspect() at /Users/mglaman/.composer/vendor/mglaman/platform-docker/src/Command/LinkCommand.php:37
mglaman\PlatformDocker\Command\LinkCommand->execute() at /Users/mglaman/.composer/vendor/symfony/console/Command/Command.php:256
Symfony\Component\Console\Command\Command->run() at /Users/mglaman/.composer/vendor/symfony/console/Application.php:838
Symfony\Component\Console\Application->doRunCommand() at /Users/mglaman/.composer/vendor/symfony/console/Application.php:189
Symfony\Component\Console\Application->doRun() at /Users/mglaman/.composer/vendor/symfony/console/Application.php:120
Symfony\Component\Console\Application->run() at /Users/mglaman/.composer/vendor/mglaman/platform-docker/platform-docker:21
link
This command will
Right now if the path is applied everything gets profiled. Would be nice to set it as ?XHPROF_START=1 and if ?XHPROF_START= or XHPROF_STOP=1 turn it off
docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
Right now all projects default in *.platform.
This way the docker-compose.yml can be put into version control without breaking
Platform CLI has changed its APIs I'll try and do a PR...
Need to run a chmod 775 on sites/default and 664 on settings.php before writing or copying.
Right now if PHP_OS is not linux it tries to execute "docker-machine start..". Instead it should check if the machine is up, then start it if not. Currently it runs a start and sleeps for one second regardless.
A way to run docker-compose restart
So far it's only useful for single commands, adding parameters makes it complain.
Need to define config directories.
When running platform-docker init
I got the following error:
[Exception] Error executing docker command: Starting projectname_mariadb_1 projectname_redis_1 is up-to-date Starting projectname_phpfpm_1 ERROR: for phpfpm Cannot link to a non running container: /projectname_mariadb_1 AS /projectname_phpfpm_1/mariadb Encountered errors while bringing up the project.
When platform-docker runs, it should cache the name and location of projects. That way commands can be executed outside of the folder by specifying the project name (like Vagrant allows.)
Right now the configuration is geared to PROJECT_[NAME|ID].platform. Users will need to set up a wildcard DNS entry to point *.platform to 127.0.0.1 (or docker machine IP if non-Linux)
Platform.sh cli configures its docroot (_www) as a symlink to ./.platform/local/builds/default/web.
When I execute platform-docker start
and execute platform-docker ssh http
, /var/platform/_www
cannot be opened because of the symlink. Docker, afaik, doesn't allow to configure follow hosts' symlinks.
I could solve it manually configuring one of this two options:
./platform/local/builds/default/web
when initializing platform-docker./.platform/local/builds/default/web
in _www and configuring docroot with _www.I like more the first option so I'm thinking about guessing, in InitCommand.php:51, if there is a platform.sh project builded, find which is its docroot and suggest that value to the user when prompting for docroot.
I don't know very well how platform.sh cli works with builds and if this solution is viable.
What do you think about it?
Warning: the mapping "docker/conf/nginx.conf:/etc/nginx/conf.d/default.conf" in the volumes config for service "nginx" is ambiguous. In a future version of Docker, it will designate a "named" volume (see https://github.com/docker/docker/pull/14242). To prevent unexpected behaviour, change it to "./docker/conf/nginx.conf:/etc/nginx/conf.d/default.conf"
Warning: the mapping "docker/data:/var/lib/mysql" in the volumes config for service "mariadb" is ambiguous. In a future version of Docker, it will designate a "named" volume (see https://github.com/docker/docker/pull/14242). To prevent unexpected behaviour, change it to "./docker/data:/var/lib/mysql"
Warning: the mapping "docker/conf/mysql.cnf:/etc/mysql/my.cnf" in the volumes config for service "mariadb" is ambiguous. In a future version of Docker, it will designate a "named" volume (see https://github.com/docker/docker/pull/14242). To prevent unexpected behaviour, change it to "./docker/conf/mysql.cnf:/etc/mysql/my.cnf"
Warning: the mapping "docker/conf/solr:/opt/solr/example/solr/collection1/conf" in the volumes config for service "solr" is ambiguous. In a future version of Docker, it will designate a "named" volume (see https://github.com/docker/docker/pull/14242). To prevent unexpected behaviour, change it to "./docker/conf/solr:/opt/solr/example/solr/collection1/conf"
Warning: the mapping "docker/conf/fpm.conf:/usr/local/etc/php-fpm.conf" in the volumes config for service "phpfpm" is ambiguous. In a future version of Docker, it will designate a "named" volume (see https://github.com/docker/docker/pull/14242). To prevent unexpected behaviour, change it to "./docker/conf/fpm.conf:/usr/local/etc/php-fpm.conf"
Warning: the mapping "docker/conf/php.ini:/usr/local/etc/php/conf.d/local.ini" in the volumes config for service "phpfpm" is ambiguous. In a future version of Docker, it will designate a "named" volume (see https://github.com/docker/docker/pull/14242). To prevent unexpected behaviour, change it to "./docker/conf/php.ini:/usr/local/etc/php/conf.d/local.ini"
There should be a subset of provider commands
These will allow users to create a local dev environment using this tool by tapping into those service's tools. Such as "platform-docker platformsh PROJECTID ENVIRONMENT" will run "project get projectid -e ENVIRONMENT" for them and run "platform-docker init"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.