3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DockerやDocker Composeなどについて

Last updated at Posted at 2023-07-18

株式会社TECH LUCKという会社で代表兼エンジニアをしている齊藤です。

DXプロジェクト、開発プロジェクト、Rails開発などでお困りごとがありましたら弊社HPからご相談をいただけますと幸いです。
以下のような問題に対応することが可能です。

  • プロジェクトでRailsエンジニアが足りなくて困っている
  • Railsのバージョンアップをしたいがノウハウ・リソースが足りなくて困っている
  • オフショア開発をしているが、要件の齟齬やコード品質が悪いので改善したい

また、Railsエンジニアも募集しておりますので、興味がありましたら弊社HPからご連絡いただけますと幸いです。

前提

雰囲気でDockerやDocker Composeを使っていたので、少し詳細を調べてみました。
折を見て追記していきます。

CMDとRUNとENTRYPOINTの違いについて

以下の記事が詳しかった。

CMDとENTRYPOINTの使い分けについて

以下の記事が詳しかった。

実際にコマンドを実行して試している記事もあった。

DockerのEXPOSEについて

以下の記事が詳しかった。

ただ、EXPOSEだけでは、ポートは公開されません。つまり、使用者からコンテナにはアクセスできません。後に説明する”docker run -p”コマンドを使用し、公開用のポートとEXPOSEで指定したポートを紐づけることで、公開されるようになります。
そのため、EXPOSEはイメージの作者とコンテナ実行者の両者に対して、ドキュメントのような役割をします。

Docker Composeでの各コンテナの通信について

各コンテナはdocker-compose.ymlで書いたportで通信しているのではなく、Docker Composeの機能でdocker-compose.ymlの中に書いたservice名で勝手に名前解決してくれる。

Railsの場合だと、database.ymlにdocker-compose.ymlで指定したサービス名をhostに設定するだけで通信できるのはこれが理由となる。

CPUのアーキテクチャについて

DockerはホストマシンのCPUアーキテクチャを参照して、Docker Hubからイメージを引っ張ってくる。
M1 Macの場合にECS用にビルドが必要になる場合などは注意する。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?