LoginSignup
0
0

Dockerについてつまづいたところ

Posted at

Dockerの使い方をよくわかっていない初心者が記載したメモ書き。間違っている箇所もあるかもしれません。

Dockerのセットアップ

# v1の場合
docker-compose up [オプション] [--scale サービス=数...] [サービス...]

# v2の場合
docker compose up [オプション] [サービス...]

Docker Composeのv2としてdocker composeコマンド(docker-composeではなく、ハイフンなし)が導入されている。

v2で「docker-compose up」を実行するとエラーになった。

docker compose の起動

Dockerfile に基づいてDockerイメージがビルドされ、その後でサービスがバックグラウンドで起動される。
デタッチド・モード(-d)を入れないと、この後どうやって動かすんだ状態になる。

docker compose up --build -d

この後、requirements.txtのパッケージがインストールされてなかったり、pythonのコードが実行できなかったりするのはdockerfileのコンテナ内の作業ディレクトリ内に移動していないから。

Dockerfileについて

# コンテナ内の作業ディレクトリ設定
WORKDIR /app

# 現在のディレクトリ内容のコピー
COPY . /app

ここでの /app ディレクトリは、コンテナ内のファイルシステム上に存在します。つまり、ホストマシン(あなたのコンピュータ)のファイルシステム上に直接見ることはできません。(考えるな、感じろ)

コンテナ内の /app ディレクトリを確認するには、コンテナにアクセスする必要があります。

以下の手順でアクセスできます:

  1. 稼働中のコンテナの確認:
    ターミナルで以下のコマンドを実行し、稼働中のコンテナをリストアップします。

    docker ps
    
  2. コンテナに入る:
    稼働中のコンテナのIDまたは名前を使用して、以下のコマンドでコンテナ内に入ります。

    docker exec -it <コンテナIDまたは名前> /bin/bash
    

    sh を使用するコンテナの場合は、/bin/bash の代わりに /bin/sh を使用してください。

  3. ディレクトリの確認:
    コンテナに入ったら、以下のコマンドで /app ディレクトリの中身を確認できます。

    ls /app
    

    または、直接 /app ディレクトリに移動することもできます。

    cd /app
    ls
    

これで、Docker コンテナ内の /app ディレクトリの中身を確認することができます。

参考記事

0
0
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
0
0