docker
docker-compose

Docker Tips コンテナ上でコマンドを実行する(dockerとdocker-composeを使った場合)~アジャイルでDevOpsなシステム構築実践~

More than 1 year has passed since last update.

dockerコマンドを使う場合

dockerコマンドを利用
$ docker exec -it {コンテナ名} {コマンド}
例:laradock_workspace_1という名前のコンテナ上でlsを実行
$ docker exec -it laradock_workspace_1 ls

docker-composeコマンドを使う場合

dockerコマンドとの違いは"-it"というオプションが不要であり、docker-compose.ymlで指定したサービス名を使います。

docker-composeコマンドを利用
$ docker-compose exec {サービス名} {コマンド}
例:workspaceという名前のサービスでlsを実行
$ docker-compose exec workspace ls

ちなみにサービス名はdocker-compose.ymlで指定します。
(サンプルはLaradockのdocker-compose.ymlファイル)

サービス名(サンプルLaradockのdocker-compose.ymlファイル)
### Workspace Utilities Container ###########################

    workspace: # ←これがサービス名
      build:
        context: ./workspace
        args:
          - INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
    ... 略 ...