Dockerの覚書

大目次

  1. Docker | よく使うコマンド
  2. 一般
  3. docker-composeの覚書





Docker | よく使うコマンド

※Dockerは頻繁に仕様変化するため下記コマンドも古くなっている可能性がある。ひたすらエラーに苦しむ必要がある。 苦しまねばDockerは使えない(;´Д`)
コマンド説明
$ exec winpty bash CLIにGit for WindowsのGit bashを使っているならこのコマンドを実行しておくように。
たびたび出てくるwinptyがなんたらかんたらというものを回避できる。

$ docker search パッケージ名 Docker Hubからイメージを検索する。
$ docker search --filter "stars=3" --filter "is-official=true" キーワード オフィシャルのパッケージのみ検索する。
pythonのオフィシャルイメージを検索する例
$ docker search --filter "stars=3" --filter "is-official=true" python
$ docker pull phpmyadmin/phpmyadmin Docker Hubからイメージをダウンロードする。
例ではphpMyAdminをDocker Hubからダウンロード。
$ docker image list ダウンロードして保持しているイメージ一覧を表示。
$ docker images 保持しているイメージ一覧を表示。
$ docker run -t -i イメージ名もしくはイメージID イメージからコンテナを生成および実行状態にする。
$ docker run -t -i python
$ docker stop $(docker ps -a -q) コンテナをすべて停止する。
$ docker start $(docker ps -a -q) コンテナをすべてスタートする。(停止中のコンテナをすべて再起動)
$ docker ps 稼働中のコンテナ一覧を表示する。
$ docker ps -a 停止中のコンテナ一覧も表示。
$ docker create -it centos コンテナのダウンロードだけ行い、実行はしない。(例:centosのダウンロード)
$ docker start コンテナIDもしくはコンテナ名 コンテナを動かす。
$ docker exec -it コンテナ名 bash コンテナに接続。アタッチ状態にする(コンテナ内に入る)。
例1(Windows環境)
$ winpty docker exec -it docker_demo_mysql_1 bash
例2(ついでにコマンドも実行する)
$ docker exec -it コンテナ名 bash -c "任意のコマンド"
$ docker attach コンテナIDもしくはコンテナ名 アタッチ状態にする(コンテナ内に入る)。なぜか止まることが多いので、docker execコマンドを使ったほうがいいかも。
$ docker stop コンテナ名もしくはコンテナID コンテナを停止する。 再び動かすには「docker start xxxxx」。
$ docker inspect コンテナ名もしくはコンテナID コンテナの詳細情報を表示する。
マウントしているボリュームや、割り当てIPアドレスなどいろいろな情報が確認可能。
$ docker rm $(docker ps -a -q) コンテナをすべて削除する。
$ docker rmi イメージ名またはイメージID イメージを削除する。
docker rmi centos/python-36-centos7
$ docker rmi `docker images -q` イメージをまとめて削除する。
#ip a IPアドレスすを確認する。(docker execでアタッチ後)
[lancers@app ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo ←ローカルIPアドレス(物理NIC)
       valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
3: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
    link/tunnel6 :: brd ::
18: eth0@if19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:0a:64:06:0b brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.100.6.11/12 brd 10.111.255.255 scope global eth0←仮想IPアドレス?(仮想NIC?)
       valid_lft forever preferred_lft forever
					
docker network ls Docker ネットワーク一覧を表示する
$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
25bdf8f0a638        bridge              bridge              local
8fb76d054ec2        frontend_default    bridge              local
8967df4354b4        host                host                local
d6ffaa0b27d7        none                null                local
					
docker network inspect 「Dockerネットワーク名」 Dockerネットワークの詳細情報を表示。
このDockerネットワークを使用しているコンテナも一覧表示している?
docker network create --driver=bridge --subnet=20.200.0.0/12 --gateway=20.200.0.1 「任意のDockerネットワーク名」 Dockerネットワークを作成する。
docker network rm 「Dockerネットワーク名」 Dockerネットワークを削除する。
docker network prune 名前のない未使用なDockerネットワークを削除する。
docker network connect --ip 192.168.0.300 Dockerネットワーク名 コンテナ名 コンテナとDockerネットワークを接続する。
docker network disconnect Dockerネットワーク名 コンテナ名 コンテナとDocekrネットワークの接続を解除する。






Docker目次 一般

目次について
  1. 2022年5月時点のWindows10 HOMEエディションでDockerを動かす | Laradocインストールまで
  2. DockerコンテナとMySQLのバックアップおよびリストア(インポート)
  3. Dockerを動かすときはxamppのApacheとMysqlは止めたほうが無難
  4. docker-composeでPython環境を構築
  5. Docker内のmysqlにアタッチする
  6. Windows環境におけるDockerのLAMP構築(CentOS, PHP, MySQL)
  7. ホストのファイルおよびフォルダをコンテナへコピーする | docker cp
  8. Dockerのボリュームとは?
  9. docker runのエラー | no matching manifest for windows/amd64 10.0.18362 in the manifest list entries
  10. コンテナを停止する | docker stop コンテナID
  11. 現在、起動しているDockerのコンテナを一覧表示(停止中のコンテナも一覧表示可)| docker ps
  12. コンテナを再スタートする | docker restart コンテナ名
  13. イメージをまとめて削除する
  14. runコマンドが効いていない(コンテナが作成できない) | Docker Desktop for Windows
  15. 停止中のコンテナをまとめて削除する
  16. コンテナの作成 | docker run
  17. Dockerのにおける統合開発環境、Eclipse Cheのインストール
  18. Dockerの基本 | イメージからコンテナを生成および実行状態する
  19. イメージについて
  20. Docker CE for Windowsをインストール
  21. Dockerとは
  22. Dockerネットワークとは





docker-composeの覚書

  1. よく使うコマンド
  2. docker-composeのインストール
  3. docker-compose.yml 環境構築→PHP+Apatche+MySQL DB接続例
  4. Docker desktopを使わずWSL上で動作するubuntuでDockerとdocker-composeを動かす