- 追加された行はこの色です。
- 削除された行はこの色です。
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>Docker]]
*目次 [#c1492759]
#contents
*概要 [#xfc2d950]
Dockerコマンド
*詳細 [#vd90682f]
*チュートリアル [#gefc9e57]
**version [#ebe418d5]
docker version
>docker version
**hello world [#cf7a11ff]
-hello world
docker container run ubuntu:latest /bin/echo 'hello world.'
>docker container run ubuntu:latest /bin/echo 'hello world.'
-OS情報を表示してみる。
docker container run ubuntu:latest uname -a
>docker container run ubuntu:latest uname -a
※ 「docker container run」の詳細は[[コチラ>#tfd54e44]]
**search [#le258f2c]
-検索
>docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
... ... ... ... ...
--構文
docker search [Option] 検索キーワード
--オプション
--- --filter=[ ] : フィルターを使用
--- --limit=n : 結果出力の最大数を指定
--- --no-trunc : 出力内容を省略しない
**system info [#febc09a3]
***基本 [#m6adb14b]
docker system info
>docker system info
***ディスク [#a7488224]
-概要
>docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 26 10 4.966GB 4.168GB (83%)
Containers 22 0 3.969kB 3.969kB (100%)
Local Volumes 14 0 541.2MB 541.2MB (100%)
Build Cache 0 0 0B 0B
-詳細
>docker system df -v
Images space usage:
REPOSITORY TAG IMAGE ID CREATED SIZE SHARED SIZE UNIQUE SIZE CONTAINERS
... ... ... ... ... ... ... ...
Containers space usage:
CONTAINER ID IMAGE COMMAND LOCAL VOLUMES SIZE CREATED STATUS NAMES
... ... ... ... ... ... ... ...
Local Volumes space usage:
VOLUME NAME LINKS SIZE
... ... ...
Build cache usage: 0B
CACHE ID CACHE TYPE SIZE CREATED LAST USED USAGE SHARED
... ... ... ... ... ... ...
-削減
docker system prune
>docker system prune
**イメージとコンテナの操作 [#lb9b55df]
新しいサブコマンド体系
-docker ps は docker container ls (コンテナの一覧)
-docker images は docker image ls (イメージの一覧)
-docker history は docker image history (イメージの履歴)
***イメージ [#p85a4399]
images系のコマンドは、docker imageサブコマンドになったらしい。
-イメージ名
--ImageName
--<DockerHub UserName>/ImageName
-一覧
>docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
... ... ... ... ...
--構文
docker image ls [Option] [RepositoryName]
--オプション
--- -all(-a) : すべてのイメージ
--- -digest : digestの表示有無
--- --all(-a)=false : すべてのイメージ
--- --digests=false : digestの表示有無
--- --no-trunc : 出力内容を省略しない
--- -quiet(-q) : イメージIDのみ表示
--- --quiet(-q) : イメージIDのみ表示
-プル~
[[コチラ>#ubfd2aef]]
--構文
---通常
docker image pull [Option] ImageName[:TagName]
---レジストリ指定
docker image pull [Option] [RegHost[:RegPort]/]ImageName[:TagName]
---レジストリ・パス指定
docker image pull [Option] [RegHost[:RegPort]/]XXXX/YYYY
---ダイジェスト値を使う
docker image pull [Option] ImageName[@HashAlg:HashVal]
--オプション
--- -all(-a) : すべてのイメージ
--- --disable-content-trust=false : イメージを認証
--イメージ認証の有効化~
上記の「--disable-content-trust=false」~
を設定しなくても認証するようになる。
上記の「--disable-content-trust=false」を設定しなくても認証するようになる。
---Windows
>set DOCKER_CONTENT_TRUST=1
---Linux
>export DOCKER_CONTENT_TRUST=1
$export DOCKER_CONTENT_TRUST=1
-調査
--例
---基本
>docker image inspect ubuntu
[... JSON ...]
---OS
>docker image inspect -f="{{ .Os}}" ubuntu
[... JSON ...]
--構文
>docker image inspect [Option] ImageName [ImageName...]
docker image inspect [Option] ImageName [ImageName...]
--オプション
--- -f, --format="" : フォーマット指定
--- --format(-f)="" : フォーマット指定
-タグ~
リネームではなく、別名の追加になる。
>docker image tag hello-world daisukenishino77/hello-world2:hogehoge
--構文
>docker image tag ImageName1 ImageName2[:TagName]
docker image tag ImageName1 ImageName2[:TagName]
--オプション~
なし。
-削除
>docker image rm daisukenishino77/hello-world2:hogehoge
--構文
>docker image rm [Option] ImageName [ImageName...]
docker image rm [Option] ImageName [ImageName...]
--オプション
--- --force(-f) : 強制削除
--- --no-prun : 中間イメージを削除しない
--削減
-削減
>docker image prune
--構文
>docker image prune [Option]
docker image prune [Option]
--オプション
--- --force(-f) : 強制削除
--- --all(-a) : 使用していないイメージを全て削除
***コンテナ [#h61e19d2]
container系のコマンドは、docker containerサブコマンドになったらしい。
-一覧
>docker container ps(ls)
>docker container ls(ps)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
... ... ... ... ... ... ...
>※ コンテナはimageファイルでもcontainerプロセスでもあるのでls, psをサポート。
--構文
docker container ls [Options]
--オプション
--- --all(-a) : Show all containers (default shows just running)
--- --filter(-f) : Filter output based on conditions provided
--- --format : Pretty-print containers using a Go template
--- --last(-n) : Show n(-1) last created containers (includes all states)
--- --latest(-l) : Show the latest created container (includes all states)
--- --no-trunc : Don’t truncate output
--- --quiet(-q) : Only display numeric IDs
--- --size(-s) : Display total file sizes
-調査
--構文
>docker container inspect [Option] ContainerName [ContainerName...]
docker container inspect [Option] ContainerName [ContainerName...]
--オプション
--- -f, --format="" : フォーマット指定
--- -s, --size : 合計ファイルサイズを表示
--- --format(-f)="" : フォーマット指定
--- --size(-s) : 合計ファイルサイズを表示
**WWWサーバの構築と実行 [#j1fb7979]
docker container run --name www_server -d -p 8080:80 nginx
***ダウンロード [#ubfd2aef]
docker image pull nginx
>docker image pull nginx
***構築 [#d008f809]
...
***実行 [#tfd54e44]
docker container run --name www_server -d -p 8080:80 nginx
>docker container run --name www_server -d -p 8080:80 nginx
-その他の例
--[[対話実行>#cf7a11ff]]
--BASH実行
>docker container run -it ubuntu /bin/bash
root@041a67b9c5dc:/# dir
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
exit
--バックグラウンド実行
---実行後、削除したり(--rm)、
---結果によって再開(--restart=[])したりできる。
-構文
docker container run [Option] ImageName[:Tag|Digest] [OS Command] [Parameter]
-オプション~
Docker run リファレンス — Docker-docs-ja ドキュメント~
http://docs.docker.jp/engine/reference/run.html
--ネットワーク設定
---ネットワーク接続
---ポートマッピング(NAPT)
---DNS, HOSTS設定
---ホスト名、IP, MAC設定
--リソース指定
---CPU
---Memory
---Volume
--環境設定
---環境変数
---読み取り専用
---作業ディレクトリ
---ユーザ名
***アクセス [#z47395d1]
http://localhost:8080/
***識別子取得 [#ze806f0c]
>docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
beb3d097cd67 ... ... ... ... ... www_server
※ コンテナ識別子としては、「CONTAINER ID」、「NAMES」が使用できる。
***ステータス [#l5d88621]
docker container stats www_server
>docker container stats www_server
>docker container stats beb3d097cd67
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
beb3d097cd67 www_server ... ... ... ... ...
...
***プロセス [#o2a0111b]
>docker container top www_server
>docker container top beb3d097cd67
PID USER TIME COMMAND
... ... ... ...
***ログ [#b052f13f]
-ログ確認
>docker container logs -t www_server
>docker container logs -t beb3d097cd67
2019-12-10T03:13:38.250183500Z 172.17.0.1 - - [10/Dec/2019:03:13:38 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://localhost:8080/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36" "-"
2019-12-10T03:13:38.250318000Z 2019/12/10 03:13:38 [error] 6#6: *2 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 172.17.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "localhost:8080", referrer: "http://localhost:8080/"
***停止 [#u46f29d4]
docker container stop www_server
>docker container stop www_server
>docker container stop beb3d097cd67
***再開 [#h0087f99]
docker container start www_server
>docker container start www_server
>docker container start beb3d097cd67
***削除 [#n7bb58c6]
>docker container rm www_server
**イメージのビルドとプッシュ [#dc9017f9]
***ビルド [#b85d83df]
***プッシュ [#x383948e]
-ログイン
>docker login
Login with your Docker ID to push and pull images from Docker Hub.
If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: daisukenishino77
Password:
Login Succeeded
--構文
docker login [Option] [Server]
--オプション
--- --username(-u)
--- --password(-p)~
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
-プッシュ
>docker image push daisukenishino77/hello-world2:hogehoge
--構文
docker image push ImageName[:TagName]
--オプション~
なし。
-ログアウト
>docker logout
Removing login credentials for https://index.docker.io/v1/
--構文
docker login [Server]
--オプション~
なし。
*参考 [#wbcef824]
-Dockerコマンドメモ~
https://qiita.com/curseoff/items/a9e64ad01d673abb6866
-docker コマンド チートシート~
https://qiita.com/voluntas/items/68c1fd04dd3d507d4083
-docker container / image コマンド新旧比較~
https://qiita.com/zembutsu/items/6e1ad18f0d548ce6c266