2
0

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

Last updated at Posted at 2024-05-16

容量の確認

docker system df

tag

様々なパッケージ等が含まれていればいるほど、サイズも多くなる。

以下nodejsを例にその大小関係を上から小さい順。

alpine				`node:<version>-alpine`
slim				`node:<version>-slim`
buster(bullseye)	`node:<version>-buster` or `node:<version>-bullseye`
standard(latest)	`node:<version>` or `node:latest`

standardalpineは1/9程サイズが異なった。

参考:

https://qiita.com/miriwo/items/52ea9ec1c2805137dd5a

イメージ

作成

docker build -t <imageName> .

-t オプションはタグ(tag)を意味する

削除

# 現在使用されていないイメージの削除
$ docker image prune

# すべてのイメージを抹消
$ docker image prune -a

確認

docker image ls <imageName>

コンテナ

削除

# 現在使用されていないコンテナの削除
$ docker container prune -f

# すべてのコンテナを抹消
$ docker container prune

停止

docker stop `docker container ls -lq`
docker kill `docker container ls -lq`

確認

docker ps

ボリューム

# 確認
$ docker volume ls

# 個別に削除
$ docker volume rm volume_name

# 使用していないものすべて
$ docker volume prune -f

# 全て削除
$ docker volume rm $(docker volume ls -qf dangling=true)

ネットワーク

# 確認
$ docker network ls

# 削除
$ docker network prune -f

全てを一括削除

# イメージ、コンテナ、ネットワーク
$ docker system prune

# volumeも含める場合
$ docker system prune --volumes

キャッシュの削除

$ docker builder prune -f

Dockerfile

共通

RUN

RUN 命令は、Dockerイメージのビルドプロセス中に実行される命令。

RUN はイメージを作成する際に、必要なパッケージのインストール、ファイルのコピー、環境設定など、イメージ内で実行すべきコマンドを指定するのに使用される。

それぞれの RUN 命令が実行されると、新しいレイヤーがイメージに追加され、その結果が次のステップに引き継がれる。

つまり、RUN はイメージの構築過程で使われ、その結果はイメージに永続化される。

CMD

CMD 命令は、Dockerコンテナが実行される際にデフォルトで実行されるコマンドを指定する。

コンテナのスタートアップ時に実行されるコマンドを定義し、主にコンテナの主要な実行プロセス(エントリーポイント)を設定するのに使用される。

CMD はイメージのビルド時には実行されず、コンテナが起動するときのみ実行される。また、CMD で指定されたコマンドは、コンテナ起動時にコマンドラインから指定されたコマンドによってオーバーライドされる可能性がある。

go

RUN go install github.com/cosmtrek/air@v0.10.2

air というライブリロードツールを特定のバージョン(v0.10.2)でインストール。

air はGo言語で書かれたアプリケーションの開発中にソースコードの変更を検知し、自動的にアプリケーションを再ビルドして再起動するツール。

開発者はソースコードを編集する度に手動でビルドや起動を行う必要がなく、効率的に開発を進めることができる。

CMD ["air"]

コンテナが起動すると自動的に air が実行され、ソースコードの変更を監視し始める。

コンテナ内でアプリケーションを開発している間、連続して変更を適用しテストすることが容易になります。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?