LoginSignup
2
3

More than 3 years have passed since last update.

Dockerの開発環境でコンテナに入り通常のコマンドで実行する方法

Last updated at Posted at 2020-05-19

Dockerの開発環境ではDockerの開発環境特有のコマンドでの操作が必要になりますが、スクリプト言語のコマンドをローカル環境で実行するときと同じコマンドで開発ができる方法を紹介します。

環境

Docker 19.03.8
Ruby 2.5
Rails 5.2

Dockerとローカルの開発環境で実行するときの違い

例えば以下のRuby on Railsの開発で用いられるコマンド

$ rails db:migrate

このコマンドをDockerで実行する場合

$ docker-compose run web rails db:migrate

このようなコマンドになります。
それ以外にも操作方法がありますが、Ruby on Railsで開発するならRubyやRailsの通常のコマンドの方が楽ですよね。その場合は以下の手順でコマンドを実行します。

Rubyの通常のコマンドで開発を行うための準備

Dockerを立ち上げます。

$ docker-compose start

コンテナ名を調べます。

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
a9b19e00552e        recipegram_web      "entrypoint.sh bash …"   44 hours ago        Up 11 seconds       0.0.0.0:3000->3000/tcp   recipegram_web_1
975875c12c76        postgres            "docker-entrypoint.s…"   46 hours ago        Up 12 seconds       5432/tcp                 recipegram_db_1

コンテナ名を入れて下記のコマンドを実行します。

$ docker exec -it a9b19e00552e bash

そうするとこのように切り替わるのでこの状態で今回であればRubyやRailsの実行コマンドで開発が行えます^_^

root@a9b19e00552e:/myapp#
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3