Execute commands in Docker containers

yarn run exec <container name> [commands] or npm run exec -- <container name> [commands]

Since magento-scripts@1.1.0

Executes command in a chosen container.

This command is basically a wrapper on top of docker exec command. It simplifies execution command in docker containers by providing names for docker containers so you don't have to search them by running a status command or docker ps.

# Using docker exec

# 1. get container name
docker ps
> ... # docker ps otput

# 2. execute command
docker exec -it <container name> <command>

# Using CMA exec

# 1. execute command
yarn run exec <service name> <command>
> ... # output from command is piped to your terminal

If you don't want to execute specific command, by default exec command will use bash as a command (and redis-cli for redis container) so you will be connected to the container with interactive shell environment.

Available container names:

  • mariadb

  • php

  • varnish

  • nginx

  • ssl-terminator

  • redis

  • elasticsearch

Usage example

yarn run exec mariadb

>root@c8f223c3ea92:/# # inside a container with mariadb database

# ctrl + d or type 'exit' and press enter

# this is not alias, but rather service name matching
yarn run exec ma

>root@c8f223c3ea92:/# # inside a container with mariadb database

# custom command to check for nginx service status in container
yarn run exec nginx service nginx status

# expected output
>[ ok ] nginx is running.

Last updated