Dockerコマンド集

Dockerコマンド集
DockerDocker Compose
2020年7月7日 更新

Docker

Docker使うとき、イメージとコンテナの管理必要です。

イメージ

リモートからイメージを取得

$ docker pull {名前:タグ}

ローカルでイメージをビルド、必要とされるのはDockerfileになります。

$ docker build -t {イメージ名}/{タグ名} {Dockerfileのあるディレクトリ}

イメージ削除

$ docker rmi イメージID

コンテナ

コンテナ監視

#全コンテナリスト
$ docker ps
#実行中
$ docker ps -a
#コンテナのIPアドレスの確認方法
$ docker inspect --format '{{ .NetworkSettings.Networks.renewal_default.IPAddress }}' {コンテナIDorコンテナの名前}

コンテナ起動

$ docker run --rm -it {適当につけたコンテナ名} sh
$ docker run --name {コンテナ名} -it {image名} /bin/bash
#起動しますが、exitと同時にコンテナを削除する
$ docker run --rm --name {コンテナ名} -it {image名} /bin/bash
#バックグラウンド
$ docker run --name {コンテナ名} -it -d {image名} /bin/bash

コンテナ削除

$ docker rm -f コンテナID

#コンテナ名からコンテナIDを取得
$ docker ps -aqf "name=container_name"

#コンテナ名からコンテナIDを取得してコンテナに入る
$ docker exec -it $(docker ps -aqf "name=container_name") /bin/bash

管理

ストレージ容量を確認

$ docker system df

クリアする

$ docker builder prune
$ docker container prune
$ docker image prune -a
$ docker volume prune
$ docker network prune
$ docker system prune
$ docker system prune --volumes

Docker Compose

Docker Composeはバージョン3になり、以前docker-composeで使えるものはdocker composeになり、両方を使えるようになりました。

ビルド

docker compose build {コンテナ名前}
docker compose build --no-cache {コンテナ名前}

起動

#普通
docker compose up {コンテナ名前}

#バックグランド
docker compose up -d {コンテナ名前}

#関連を無視する
docker-compose run --no-deps --rm {コンテナ名前}

コンテナコマンドに入ります実行

docker compose exec {コンテナ名前} bash

停止

docker compose down {コンテナ名前}

再起動

docker-compose restart {コンテナ名前}

当docker composeにあるコンテナをリストアップ

docker compose ps
#イメージのリストアップ
docker-compose images

ログを見る

docker-compose logs -f {コンテナ名前}
#json形
docker-compose events --json {コンテナ名前}

コンテナのプロセスを確認

docker-compose top

Tipsとして。

$ docker compose --help