This page describes how you can convert a non-Docker based project into a Docker based one. If you want to install Spryker in Docker from scratch, start with Development Mode or Demo Mode.
To start integrating Docker into your project:
- Follow the one of the Docker installation prerequisites:
- Installing Docker prerequisites on MacOS
- Installing Docker prerequisites on Linux
- Installing Docker prerequisites on Windows
- Integrate the Spryker Core feature into your project.
Create a new .dockerignore
file to match the project file structure:
.git
.idea
node_modules
/vendor
/data
!/data/import
.git*
.unison*
/.nvmrc
/.scrutinizer.yml
/.travis.yml
/newrelic.ini
/docker
!/docker/deployment/
See .dockerignore file to learn more about the structure of the file.
In config/Shared
, adjust or create a configuration file. The name of the file should correspond to your environment. See config_default-docker.php as an example.
Make sure to adjust the configuration for each separate store. See config_default-docker_DE.php as an example.
Set up a Deploy file per your infruscturcure requirements using the examples in the table:
Development mode | Demo mode |
---|---|
B2C Demo Shop deploy file | B2C Demo Shop deploy file |
B2B Demo Shop deploy file | B2B Demo Shop deploy file |
In config/Shared
, prepare the installation recipe that defines the way Spryker should be installed.
Use the following recipe examples:
Follow the steps to install the Docker SDK:
- Fetch Docker SDK tools:
git clone https://github.com/spryker/docker-sdk.git ./docker
:::(Warning) (Verification)
Make sure docker 18.09.1+
and docker compose 2+
are installed:
$ docker version
$ docker compose version
:::
- Initialize docker setup:
docker/sdk bootstrap
:::(Info) (Bootstrap)
Once you finish the setup, you don't need to run bootstrap
to start the instance. Run it only after:
- Docker SDK version update
- Deploy file update :::
- Build and run Spryker applications:
docker/sdk up
:::(Warning) ()
Ensure that, in the hosts
file in the local environment, all the domains from deploy.yml
are defined as 127.0.0.1
.
:::
To ensure that the installation is successful, make sure you can access the configured endpoints from the Deploy file. See Deploy file reference - 1.0 to learn about the Deploy file.
:::(Info) (RabbitMQ UI credentials)
To access RabbitMQ UI, use spryker
as a username and secret
as a password. You can adjust the credentials in deploy.yml
.
:::
To get the full and up-to-date list of commands, run docker/sdk help
.