(1) docker runコマンドは3つのコマンドの合体
(2) docker images
(3) docker ps -a
(4) コンテナのステータス
(5) (起動している)コンテナへのシェル接続
(6) Docker Machine
(7) Docker Compose
(8) Docker Engine
(9) mysqlコンテナを立ち上げる
(10) Dockerイメージの削除
(1) docker runコマンドは3つのコマンドの合体
- docker pull: イメージの取得
- docker create: コンテナの作成
- docker start: コンテナの起動
(2) docker images
- ダウンロード済みのDockerイメージを一覧表示する
[REPOSITORY] 今までにダウンロードされイメージのリポジトリ名 [TAG] [IMAGE ID] イメージを一意に識別するためのID [CREATED] (多くの場合、他人によって)イメージが作成された日 [SIZE]
(3) docker ps -a
- 停止したコンテナも含めて一覧表示する
[CONTAINER ID] コンテナを一意に識別するためのID [IMAGE] コンテナを立ち上げる際に材料にしたイメージ名 [COMMAND] [CREATED] (自分によって) コンテナが作成された日 [STATUS] コンテナの状態 [PORTS] (ホストIP[mac]):(ホスト・ポート番号[mac]) -> (コンテナ・ポート番号[linux]) (docker-composeで機能しているポートフォワーディングの例) 0.0.0.0:443->443/tcp, 0.0.0.0:56789->80/tcp laradock_nginx_1 9000/tcp laradock_php-fpm_1 0.0.0.0:2222->22/tcp laradock_workspace_1 2375-2376/tcp laradock_docker-in-docker_1 (( 注意 )) laradock_php-fpm_1コンテナのように、 「(矢印無しで) 9000/tcp」となっている場合、 9000番ポートを外部に接続(バインド?)していない。 [NAME]
(4) コンテナのステータス
[Up] コンテナが実行中の状態 [Running] コンテナが実行中の状態 [Exited] コンテナが停止した状態 [Created] コンテナが作成され、実行される前の状態 [Restarting] [Removing]
(5) (起動している)コンテナへのシェル接続
- docker exec -it [コンテナID or コンテナ名]
docker exec -it [CONTAINER ID] /bin/sh docker exec -it [NAME] /bin/sh
(6) Docker Machine
(7) Docker Compose
# コンテナ群を起動 $ docker-compose up -d (コンテナ名: 1) (コンテナ名: 2) (=> vagrant up) # コンテナ群を停止 $ docker-compose stop (=> vagrant halt)
初期設定
* データの保存先(APP_CODE_PATH_HOST, DATA_PATH_HOST)変更 * プロジェクト名称(COMPOSE_PROJECT_NAME)を変更
(8) Docker Engine
(9) mysqlコンテナを立ち上げる
少々変更が必要
>>> プロジェクトの方の.envにて DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=default DB_USERNAME=default DB_PASSWORD=secret これは、Laradockの.envに合わせている
#### 合わせる対象 (Laradockの.env)
### MYSQL ################################################# MYSQL_VERSION=5.7 MYSQL_DATABASE=default MYSQL_USER=default MYSQL_PASSWORD=secret MYSQL_PORT=3306 MYSQL_ROOT_PASSWORD=root MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
変更点
#DB_HOST=127.0.0.1 DB_HOST=mysql #DB_DATABASE=laravel DB_DATABASE=default #DB_USERNAME=root DB_USERNAME=default #DB_PASSWORD= DB_PASSWORD=secret
$ docker-compose up -d --build mysql
laradockの.envを変更したら再ビルド
$ docker-compose up -d --build workspace nginx postgres php-fpm
(10) Dockerイメージの削除
- ローカルPCにある、Dockerイメージの一覧表示
$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE ****_json-server latest d4557563a4ba 3 weeks ago 922MB ****_app latest 695e085a34a6 8 weeks ago 640MB ****_php 7.4-fpm 60f4f2a9d3bb 4 months ago 405MB ****_mysql 5.7 a70d36bc331a 4 months ago 449MB ****_nginx 1.18 b9e1dc12387a 4 months ago 133MB ****_phpmyadmin/phpmyadmin latest badddfc395a5 5 months ago 469MB
- Dockerコンテナの起動状態確認
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9ac187df9e56 nginx:1.18 "/docker-entrypoint.…" 3 days ago Up 3 days 0.0.0.0:8000->80/tcp, :::8000->80/tcp ***_nginx 7bc9600b5722 ***_app "docker-php-entrypoi…" 3 days ago Up 3 days 9000/tcp ***_php 640ae7dbacf9 phpmyadmin/phpmyadmin:latest "/docker-entrypoint.…" 3 days ago Up 3 days 0.0.0.0:8080->80/tcp, :::8080->80/tcp ***_phpmyadmin_1 aade56db476b mysql:5.7 "docker-entrypoint.s…" 3 days ago Up 3 days 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp ***_db-host 625623b55486 ***_json-server "docker-entrypoint.s…" 3 days ago Up 3 days 0.0.0.0:33000->33000/tcp, :::33000->33000/tcp ***_json-mock-server
=> 今回は全て Up (起動中)。
- docker-composeを利用しているので、docker-composeでも、コンテナの起動状態確認
$ docker-compose ps -a Name Command State Ports ------------------------------------------------------------------------------------------------------------------------ ***_db-host docker-entrypoint.sh --exp ... Up 0.0.0.0:3306->3306/tcp,:::3306->3306/tcp, 33060/tcp ***_json-mock-server docker-entrypoint.sh sh -c ... Up 0.0.0.0:33000->33000/tcp,:::33000->33000/tcp ***_nginx /docker-entrypoint.sh ngin ... Up 0.0.0.0:8000->80/tcp,:::8000->80/tcp ***_php docker-php-entrypoint php-fpm Up 9000/tcp ***_phpmyadmin_1 /docker-entrypoint.sh apac ... Up 0.0.0.0:8080->80/tcp,:::8080->80/tcp
- docker-compose stop
$ docker-compose stop Stopping ***_nginx ... done Stopping ***_php ... done Stopping ***_phpmyadmin_1 ... done Stopping ***_db-host ... done Stopping ***_json-mock-server ... done
- docker-composeでコンテナ状態確認
$ docker-compose ps -a Name Command State Ports ----------------------------------------------------------------------------- ***_db-host docker-entrypoint.sh --exp ... Exit 0 ***_json-mock-server docker-entrypoint.sh sh -c ... Exit 137 ***_nginx /docker-entrypoint.sh ngin ... Exit 0 ***_php docker-php-entrypoint php-fpm Exit 0 ***_phpmyadmin_1 /docker-entrypoint.sh apac ... Exit 0
- dockerでも、コンテナ状態確認
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9ac187df9e56 nginx:1.18 "/docker-entrypoint.…" 3 days ago Exited (0) About a minute ago nginx 7bc9600b5722 ***_app "docker-php-entrypoi…" 3 days ago Exited (0) About a minute ago php 640ae7dbacf9 phpmyadmin/phpmyadmin:latest "/docker-entrypoint.…" 3 days ago Exited (0) About a minute ago ***_phpmyadmin_1 aade56db476b mysql:5.7 "docker-entrypoint.s…" 3 days ago Exited (0) About a minute ago ***_db-host 625623b55486 ***_json-server "docker-entrypoint.s…" 3 days ago Exited (137) About a minute ago ***_json-mock-server
[コンテナの停止] => [コンテナの削除] => [イメージの削除]
https://docs.docker.jp/engine/reference/commandline/stop.html
- コンテナの停止 (docker stop {CONTAINER ID})
$ docker stop 9ac187df9e56 9ac187df9e56
- コンテナの削除 (docker rm {CONTAINER ID})
$ docker rm 9ac187df9e56 9ac187df9e56
- コンテナの削除 (docker-compose down)
$ docker-compose down Removing php ... done Removing ***_phpmyadmin_1 ... done Removing ***_db-host ... done Removing ***_json-mock-server ... done Removing network ***_default
- コンテナイメージの削除[1つずつ] (docker rmi {IMAGE ID})
$ docker rmi ****_json-server Untagged: ****_json-server:latest Deleted: sha256:d4557563a4ba1f218f8eaffe16f3b5e4340c8857abef31b63dbef23c103ce198
- コンテナイメージの削除[全部] (docker rmi $(docker images -q)})
$ docker rmi $(docker images -q) Untagged: ****_app:latest Deleted: sha256:695e085a34a632ffb02b384c7dbef633d4c51a1aa4ce968199b9fec181ce2993 Untagged: php:7.4-fpm Untagged: php@sha256:e9efa237664ac68793c62a7eb202a0383cce7e82ac43fb7f71347c23f1b6d3c7 Deleted: sha256:60f4f2a9d3bb379958f23250d368c7ea62c3b07e708fb0848046e595c6756fae Untagged: mysql:5.7 Untagged: mysql@sha256:b3d1eff023f698cd433695c9506171f0d08a8f92a0c8063c1a4d9db9a55808df Deleted: sha256:a70d36bc331a13d297f882d3d63137d24b804f29fa67158c40ad91d5050c39c5 Deleted: sha256:50c77bf7bcddd1f1d97789d80ac2404eec22c860c104e858620d2a2e321f0ef7 Deleted: sha256:14244329b83dfc8982398ee4104a548385652d2bffb957798ff86a419013efd6 Deleted: sha256:6d990477f90af28473eb601a9bca22253f6381e053c5a8edda0a4f027e124a3c Deleted: sha256:ee0449796df204071589162fc16f8d65586312a40c68d1ba156c93c56f5e5ce8 Deleted: sha256:d08533f1e2acc40ad561a46fc6a76b54c739e6b24f077c183c5709e0a6885312 Deleted: sha256:4f9d91a4728e833d1062fb65a792f06e22e425f63824f260c8b5a64b776ddc38 Deleted: sha256:20bf4c759d1b0d0e6286d2145453af4e0e1b7ba3d4efa3b8bce46817ad4109de Deleted: sha256:a9371bbdf16ac95cc72555c6ad42f79b9f03a82d964fe89d52bdc5f335a5f42a Deleted: sha256:5b02130e449d94f51e8ff6e5f7d24802246198749ed9eb064631e63833cd8f1d Deleted: sha256:ab74465b38bc1acb16c23091df32c5b7033ed55783386cb57acae8efff9f4b37 Untagged: nginx:1.18 Untagged: nginx@sha256:ebd0fd56eb30543a9195280eb81af2a9a8e6143496accd6a217c14b06acd1419 Deleted: sha256:b9e1dc12387ae52eee5da783128deb8bdee0dc3b29fc3874cd81cf2190f71099 Deleted: sha256:f9aebc0cc1e2955d8c13f7318fed90e0cf674b1d637fed5b9821de268ad22b31 Deleted: sha256:609646e0dffb93b45ed24af32ee975ef74cfa357efcb8fd8feb916ce7e8aa0a3 Deleted: sha256:bbf586edfcbe0ec880cd0459cb9445b11f01e1345291c5afb8c30685dd7371c3 Deleted: sha256:3401ac568a2e38058264bd753024073c2e97bfdf3cae99468161c68d5f183784 Untagged: phpmyadmin/phpmyadmin:latest Untagged: phpmyadmin/phpmyadmin@sha256:7d98bb1eaaa15289624b36cb1b0259a4d6aed4b797a5466e95d6f2e2e3d9008e Deleted: sha256:badddfc395a59f98b325411de4167d5d429fdbe8d9e07eb237353fdfbb6bb1f3 Deleted: sha256:560a568e8587a510815ff68b397e732ad0a7f96d244f88bf8ab4f68d7daf667f Deleted: sha256:1f4cfd505b1e65ff695ffb28a80dce1805cf0ede4f151818c43c46960d7b019c Deleted: sha256:8d2558ca2e4f0ed72be9e77eb4d9d4adfd7a50a7b23a8ee7edc346a60bcb4401 Deleted: sha256:cfe72120c9b4da34b1088e6457328234140a551fb5dd1f7171c7daf649329c8a Deleted: sha256:d8f138debd6f1ec5a8eb8b322b7ebdad7fb4f9c3d72c00dceab133cb5c7005fa Deleted: sha256:092caf8621eee90814c9aa724b007c91302d0aae1429906ea1d13a4c798d52b4 Deleted: sha256:f7b0b6034c89578c4b57e731f3985e384cc42dd7d7a7e7540bdd6e215d52781a Deleted: sha256:3547ba207c92adc841cd8d6df8076e204fd85bb96a416bece1cb3bddbe436208 Deleted: sha256:71ed64c5d6a3b5eb7a5a0d2229bfa0cb93e88f3730bc7867f4ff1fbd64931d84 Deleted: sha256:1070af2779f10067bbd758dd5c6fa8efa51f6f96654f85c1153fe1dd5cf54427 Deleted: sha256:04f8b0f55683dc7a106acf0f44fdd709bbde535889710c877569a9fd1064d39d Deleted: sha256:2ee746151beb7b0b3ae453bb83c6d0828ee5671a14f60160da05c663f6b4286a Deleted: sha256:cb7a8356ede0b61bd6f540981c5b1d91b7e5385412e36684f65f904bbf590c92 Deleted: sha256:698904aae259d168b38dad3c8d8c6787b722e92f4b9dfcee0ee8a2ab8240f4c5