docker
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| docker [2018/04/19 01:55] – 作成 nullpon | docker [2026/03/08 11:37] (現在) – nullpon | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| < | < | ||
| - | # docker | + | # Docker |
| + | |||
| + | ## 起動例 | ||
| + | |||
| + | s12v/ | ||
| + | |||
| + | ``` | ||
| + | docker | ||
| + | ``` | ||
| + | |||
| + | 一度runするとコンテナが作成されるので | ||
| + | |||
| + | ``` | ||
| + | $ docker ps -a | ||
| + | CONTAINER ID IMAGE | ||
| + | 750d1a78dc9f | ||
| + | ``` | ||
| + | |||
| + | 以後は `docker start CONTAINER_ID` で起動する。IDは一意になる長さまで指定すればOK | ||
| + | |||
| + | ``` | ||
| + | docker start 750d1a78dc9f | ||
| + | ``` | ||
| + | |||
| + | ### nginxを起動 | ||
| + | |||
| + | * http:// | ||
| + | * htdocsをdocument rootとする | ||
| + | * hoge.confはバーチャルホスト hoge.nullpon.moe の設定 | ||
| + | |||
| + | |||
| + | ``` | ||
| + | docker run -p 8080:80 -d -v $(pwd)/ | ||
| + | ``` | ||
| + | |||
| + | --nameオプションで名前を指定すると、その名前で停止、再開できる | ||
| + | |||
| + | 停止 | ||
| + | |||
| + | ``` | ||
| + | docker stop web | ||
| + | ``` | ||
| + | |||
| + | 再開 | ||
| + | |||
| + | ``` | ||
| + | docker start web | ||
| + | ``` | ||
| ## コマンド | ## コマンド | ||
| - | イメージ一覧 | + | ### イメージ一覧 |
| docker images | docker images | ||
| | | ||
| - | コンテナ一覧 | + | ### コンテナ一覧 |
| | | ||
| docker ps | docker ps | ||
| docker ps -a # 起動してないコンテナも表示 | docker ps -a # 起動してないコンテナも表示 | ||
| - | 起動 | + | ### 起動 |
| docker start コンテナID | docker start コンテナID | ||
| - | コンテナ削除 | + | ### コンテナ削除 |
| docker rm コンテナID | docker rm コンテナID | ||
| | | ||
| - | イメージ削除(コンテナに使われていると削除できないので、先にコンテナを削除する) | + | ### イメージ削除 |
| + | |||
| + | コンテナが残っていると削除できないので、先にコンテナを削除する | ||
| docker rmi イメージID | docker rmi イメージID | ||
| + | | ||
| + | ### イメージのダウンロード | ||
| + | |||
| + | コンテナを起動せずにイメージだけ取得する | ||
| + | |||
| + | docker pull イメージ名の名前 | ||
| + | |||
| + | ### ディスク使用量を見る | ||
| + | |||
| + | docker system df | ||
| + | docker system df -v | ||
| + | | ||
| + | ### 使ってないリソースを掃除 | ||
| + | |||
| + | docker system prune | ||
| + | |||
| + | ### イメージのレイヤーごとのサイズを取得 | ||
| + | |||
| + | docker history < | ||
| + | |||
| + | |||
| + | ### 起動中のコンテナに接続 | ||
| + | |||
| + | docker exec CONTAINER_ID COMMAND | ||
| + | |||
| + | 例) | ||
| + | |||
| + | ``` | ||
| + | docker exec -it xxxxx bash | ||
| + | ``` | ||
| + | |||
| + | * -iはinteractive、bashやredis-cli等の対話ツールを使う場合に必要 | ||
| + | * -tは擬似端末を設定する、コンソール入出力に必要 | ||
| + | |||
| + | ``` | ||
| + | docker exec --privileged xxxxx lsof | ||
| + | ``` | ||
| + | |||
| + | * --privilegedは特権を与える。bashの中で特権が必要なコマンドを呼ぶ場合も必要(コンテナ内のユーザがrootでも!) | ||
| + | |||
| + | ``` | ||
| + | nullpon@local $ docker exec -it xxxxx bash | ||
| + | root@docker # lsof -i | ||
| + | # 何も得られない! | ||
| + | ``` | ||
| + | |||
| + | ``` | ||
| + | nullpon@local $ docker exec -it --privileged xxxxx bash | ||
| + | root@docker # lsof -i | ||
| + | COMMAND PID | ||
| + | bundle | ||
| + | ... | ||
| + | ``` | ||
| 行 51: | 行 154: | ||
| docker run -d -p 80:80 nyan:0.3 | docker run -d -p 80:80 nyan:0.3 | ||
| ``` | ``` | ||
| - | </ | + | |
| + | ビルドキャッシュを削除 | ||
| + | |||
| + | ``` | ||
| + | docker builder prune | ||
| + | ``` | ||
| + | ## Docker for mac | ||
| + | |||
| + | ### 仮想マシンにログイン | ||
| + | |||
| + | ``` | ||
| + | $ screen ~/ | ||
| + | ``` | ||
| + | |||
| + | 終了は Ctrl-a, k で | ||
| + | |||
| + | |||
| + | ## zsh completion | ||
| + | |||
| + | zshでdockerコマンドの補完を有効する方法 | ||
| + | |||
| + | ``` | ||
| + | mkdir -p ~/ | ||
| + | docker completion zsh > ~/ | ||
| + | ``` | ||
| + | |||
| + | homebrewでdockerコマンドをインストールした場合`/ | ||
| + | |||
| + | |||
| + | ※ 当然だがzshrcでfpathの設定も必要 | ||
| + | |||
| + | ```bash | ||
| + | # add user completion files to fpath | ||
| + | if [[ -d ~/ | ||
| + | fpath=(~/ | ||
| + | fi | ||
| + | |||
| + | # add homebrew completion files to fpath | ||
| + | if [[ -d / | ||
| + | fpath=(/ | ||
| + | fi | ||
| + | |||
| + | # zsh completion | ||
| + | autoload -U compinit | ||
| + | compinit | ||
| + | ``` | ||
| + | |||
| + | 補完ファイルの置き場はどこでも良い。`~/ | ||
| + | </ | ||
docker.1524102921.txt.gz · 最終更新: by nullpon