关于Docker
我学习了Docker,现在来总结一下。
Docker是一种用于创建、运行和管理容器化虚拟环境的平台。
Docker映像:汇总了虚拟环境的内容。
Docker Hub:聚集了Docker映像的地方。
使用该程序可以快速启动开发环境。
可以创建可复现的环境。
通过共享配置文件,可以启动相同的环境。
无需污染个人电脑环境。
容器命令
#単純なメッセージを表示するイメージからコンテナを動かしてみる
docker run hello-world
docker:dockerコマンド
run:サブコマンド
hello-world:イメージの指定
docker runコマンドは、下記3つのコマンドを実行している
docker pull:イメージの取得
docker create:コンテナの作成
docker start:コンテナの起動
标签
可以用来给图像附加标签的名称被称为标签。
标签可以自由命名。
以编程语言图像为例,可以附加表示版本的标签。
比如,对于ruby:2.6这个图像来说,”ruby”这个图像的标签”2.6″就意味着Ruby的2.6版本的图像。
这表示该图像包含了Ruby的2.6版本。
如果不明确标签,则使用latest作为标签名称。
信息
#クジラさんに単純なメッセージを言わせてみる
docker run docker/whalesay cowsay Hello!
形象
#ローカル上のdocker image一覧を表示
docker images
#イメージにタグ付けするコマンド
docker tag docker/whalesay my_whalesay
- tag:タグ付けするサブコマンド
- docker/whalesay:元となるイメージ名
- my whalesay:新しいイメージ名
#イメージの詳細情報を表示するコマンド
docker inspect my_whalesay
#ローカルのイメージを削除するコマンド
docker rmi docker/whalesay
docker rmi -f docker/whalesay #オプション[-f]を付けると強制削除
#DockerHub上のイメージを取得(pull)するコマンド
docker pull docker/whalesay
#latestタグは必ずしも最新ではないことに注意する
#Dockerfileからイメージを作成することをbuildという
#イメージファイルを作成(build)するコマンド
docker build --no-cache -t docker-whale .
--no-cache:cache
- build:イメージをビルドするサブコマンド
- -t docker-whale:-tでタグ名を作成、タグ名は「-t」の後に指定
- .:ビルドコンテキストの指定(ファイルのディレクトリ場所)
DockerHub 文库
#DockerHubへイメージをpushする
#pushする前にDockerHubにログインする必要がある。
docker login #username,passwordを入力する
#サーバーを利用している場合
docker login <サーバー名> #username,passwordを入力する
#DockerHubにおけるタグ付けルール
<DockerID>/<イメージ名>:<タグ名> #タグ名は省略可、省略すると自動でlatestとなる
docker tag docker whale kame/docker-whale:ver1 #イメージにタグを追加する
#DockerHubへイメージをpushする
docker push <DockerID>/<イメージ名>:<タグ名>
docker push kame/docker-whale:ver1
#DockerHubへイメージをpushしたので、ローカルのイメージを削除する
docker rmi -f <IMAGEID> #IMAGEIDはdocker imagesで確認
#DockerHub上のイメージを取得(pull)してみる
docker pull kame/docker-whale:ver1
容器的启动和停止
#nginxサーバーの構築
nginxのコンテナを立ち上げるコマンド
docker run --name <コンテナ名> -d \
-p <ホスト側のポート番号> <コンテナ側のポート番号><イメージ>
#コマンド中で「\」を入れると改行できる
$ docker run --name test-nginx -d -p 8080:80 nginx
#-dはデタッチモード、コンテナの実行をバックグランドで実行する
#コマンドを実行したフォアグランドで実行されるので、他の操作ができない
#コンテナを停止する
docker stop test-nginx
#コンテナを削除する
docker rm test-nginx
Docker机
#docker-machine(ホストの中身を)確認する
docker-machine ls
#docker-machineを停止する
docker-machine stop <ホスト名>
docker-machine stop test
#docker-machineを削除する
docker-machine rm test
#docker-machineを設定する設定コマンド
docker-machine env
#操作対象の設定(アクティブにする)
eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env) #環境によってコマンドが異なるので、「docker-machine env」で確認する
#操作対象の設定(アクティブ)を解除する
docker-machine env -u
eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env -u)で解除
#ipの確認
docker-machine ip default
查看日志
要查看Docker容器内的日志,可以使用docker logs命令。
docker ps //コンテナ名を確認
docker logs -f <コンテナ名> //ログを確認したい時(-f:fllow。ログの出力を表示し続ける)
docker logs <コンテナ名> -f 2>/dev/null //アクセスログを確認したい時(エラーログを捨てる)
docker logs <コンテナ名> -f 1>/dev/null //エラーログを確認したい時(アクセスログを捨てる)