0
1

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備忘録

Posted at

Docker振り返り

DockerについてUdemyで学んだので今回はその振り返りです.間違いなどもあるともいますので,もし間違いがありましたら,ご指摘お願いします.

内容

Dockerfile コマンド一覧

Dockerfileで使用される主要なコマンドは以下の通り:

  • FROM: ベースイメージを指定
  • RUN: コマンドを実行
  • COPY: ファイルやディレクトリをコピー
  • ADD: ファイルやディレクトリを追加(圧縮ファイルの展開も可能)
  • WORKDIR: 作業ディレクトリを設定
  • ENV: 環境変数を設定
  • EXPOSE: ポートを公開
  • CMD: コンテナ実行時のデフォルトコマンドを指定
  • ENTRYPOINT: コンテナ実行時の固定コマンドを指定

Dockerコマンド:

コマンド 内容
docker container run コンテナを実行する
docker container stop 実行中のコンテナを停止する
docker image build DockerfileからDockerイメージを作成する
docker image pull レジストリからイメージを取得する

マルチステージング

マルチステージビルドの目的と意義は以下の通り:

  1. イメージサイズの削減: 最終的なイメージには必要最小限のファイルのみを含めることができる。

  2. 開発環境と本番環境の統一: 1つのDockerfileで複数の環境に対応できるため、環境間の一貫性が向上。

  3. 保守性の向上: 複数のDockerfileを管理する必要がなくなり、保守が容易。

  4. ビルドプロセスの最適化: ビルドに必要なツールと実行に必要なファイルを分離できるため、効率的なビルドプロセスが実現。

Dockerネットワーク

Dockerネットワークの内容と使いどころ、落とし穴は以下の通り:

内容

  • Dockerネットワークは、コンテナ間の通信を管理する機能です。
  • 主なネットワークドライバには、bridge、host、overlay、macvlanがある。

使いどころ

  1. マイクロサービスアーキテクチャ: 複数のサービスを分離しつつ、必要に応じて通信を可能。
  2. 開発環境の分離: 異なるプロジェクトやバージョンを独立したネットワークで管理。
  3. セキュリティの強化: ネットワークを分離することで、不要な通信を防ぎセキュリティを向上(よくわからんかった)。

落とし穴

  1. 複雑性の増加: ネットワークの設定が複雑になり、管理が難しくなる。
  2. パフォーマンスオーバーヘッド: ネットワーク層の追加によりわずかなパフォーマンス低下が生じる。
  3. 名前解決の問題: コンテナ名による通信に依存すると、DNSの問題が発生する可能性がある。
  4. ネットワークの孤立: 誤った設定により、コンテナが意図せずネットワークから孤立する可能性。

これらの落とし穴を避けるためには、ネットワーク設計を慎重に行い、適切なモニタリングとトラブルシューティング手法を確立することが重要。

振り返り

一番やりたかったDevContainerでFluttterの開発環境を作成するために必要なことがよくわからなかった.今この方のgitを参考に構築しているが何がダメなのかがわからない.
そもそもSDKまわりがよくわかっていないのもあって何から手を付けていけばいいかもわからない.今週中には終わらせたい.

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?