Developer mode
Developer mode supports an active development environment with full, writable file system permissions.
This option builds the Docker environment in developer mode and verifies configured service versions. On macOS and Windows systems, performance is slower in developer mode because of additional file synchronization operations. However, you can improve performance by using either the manual-native
or the mutagen
file synchronization option when you generate the docker-compose.yml
file. See Synchronizing data in Docker.
The ece-tools
package supports developer mode starting with version 2002.0.18.
Large files (>1 GB) can cause a period of inactivity. DB dumps and archive files—ZIP, SQL, GZ, and BZ2—are not necessary to sync. You can find exclusions to these file types in the mutagen.sh
file.
Prerequisites:
- Complete the installation steps.
- Install file synchronization tools if needed.
To launch the Docker environment in developer mode:
In your local project root, generate the Docker Compose configuration file. You can use the service configuration options, such as
--php
, to specify a version.Copied to your clipboard./vendor/bin/ece-docker build:compose --mode="developer"The
--mode
option in this step determines the mode in a laterdeploy
step.If necessary, set the option for [synchronizing data in Docker][sync]. For example:
Copied to your clipboard./vendor/bin/ece-docker build:compose --mode="developer" --sync-engine="mutagen"You can further customize the Docker Compose configuration file by adding additional options to the
build:compose
command. For example, you can set the software version for a service, or add Xdebug configuration. See service configuration options.Optional: If you have a custom PHP configuration file, copy the default configuration DIST file to your custom configuration file and make any necessary changes.
Copied to your clipboardcp .docker/config.php.dist .docker/config.phpBuild files to containers and run in the background.
Copied to your clipboarddocker compose up -dIf you selected the
manual-native
option, start the file synchronization.To copy all data from the local machine to the Docker volume:
Copied to your clipboard./bin/magento-docker copy-to --allAlso, you can provide a specific directory from the local machine to copy to the Docker volume, for example
vendor
:Copied to your clipboard./bin/magento-docker copy-to vendorTo copy all data from the Docker volume to the local machine:
Copied to your clipboard./bin/magento-docker copy-from --allAlso, you can provide a specific directory from the Docker volume to copy from, such as
vendor
:Copied to your clipboard./bin/magento-docker copy-from vendorIf you selected
mutagen
for file synchronization, start the file synchronization.Copied to your clipboardbash ./mutagen.shImportant:
If you host your Docker environment on Windows and the session start fails, update the
mutagen.sh
file to change the value for the--symlink-mode
option toportable
.Install Adobe Commerce in your Docker environment.
For Adobe Commerce version 2.4 and 2.4.1 only, apply patches before you deploy.
Copied to your clipboarddocker compose run --rm deploy php ./vendor/bin/ece-patches applyDeploy Adobe Commerce in the Docker container.
Copied to your clipboarddocker compose run --rm deploy cloud-deployRun post-deploy hooks.
Copied to your clipboarddocker compose run --rm deploy cloud-post-deploy
Developer mode does not require the
build
operation.Configure and connect Varnish.
Copied to your clipboarddocker compose run --rm deploy magento-command config:set system/full_page_cache/caching_application 2 --lock-envCopied to your clipboarddocker compose run --rm deploy magento-command setup:config:set --http-cache-hosts=varnishClear the cache.
Copied to your clipboarddocker compose run --rm deploy magento-command cache:cleanAccess the local storefront by opening one of the following URLs in a browser:
http://magento2.docker
https://magento2.docker
Use the default credentials to log in to the Admin (
https://magento2.docker/admin
).- username =
Admin
- password =
123123q
- username =
Access the default email service:
http://magento2.docker:8025
If you see the Your connection is not private
error message while using an HTTPS connection, click Advanced, then click the Proceed to magento2.docker (unsafe) link. If you use Google Chrome and there is no Advanced button, then type thisisunsafe
to bypass the security warnings. For CURL
requests, add the -k
or --insecure
option to ignore certificate warnings.