ドッカー利用のヒント
すべてのドッキングウィンドウコンテナをクリーンアップ停止
時々、私たちは、コンテナの多くは使用できないエラーのため停止したり、コンテナからの撤退を余儀なくされている必要があり、我々は削除する必要があるが、我々は、RMに、我々はドッカーできる回数RMますどのように多くのコンテナのトラブルの多くを削除しますPS -qa IDのすべてのコンテナを識別し、使い捨て全て削除し、コンテナの心配はありませんが実行されている削除されます、我々はすべての使い捨て容器を停止するように、RMコンテナを実行すると、削除、削除することはできません
# 只适用于Linux环境下 docker rm $(docker ps -qa)
ビューミラーは、環境変数を持っています
我々は良いイメージを作るか、私たちは彼の環境変数を知りたい場合は、ミラーに入るとき、私たちの最初に考えたのは知って見にコンテナを作成することで、実際には、あなたは、私たちはENVから直接見ることができますする必要はありません。
docker run nginx env
WindowsとLinuxの違い
主な理由は、仮想マシン、もしそれがLinuxカーネルに依存している、我々はすべてのLinux上の問題で始まるドッキングウィンドウを知って、これらの二つのドッキングウィンドウの環境サポートの問題との違いですが、ないWindows上で、そして今、我々はそれを使用する方法です以下は基本的にVirtualBoxで満たされているwin10バージョンで、多くのwin10デスクトップバージョン、使用するHyper-Vのでなく、仮想マシンを選ぶだろう。Windows上でのみ使用するドッキングウィンドウを使用して仮想マシンの後、どこがで二つの違いを知っているべきへ
ドッキングウィンドウは、直接Linuxシステム上のが、Linux上の別のウィンドウでは、Windowsシステム上の仮想マシンで、仮想マシンがドッキングウィンドウです
Linuxシステム<<ドッキングウィンドウコンテナ
仮想計算機システム<< <<ドッカコンテナを獲得
それは、私たちは、プロセスの使用中に、わずかに異なる結果を持っている、その理由は、最も一般的には、ポートを開くための時間です
Linuxシステム:直接Linuxシステムにマッピングされたドッキングウィンドウのコンテナ港
その後、仮想マシンへのドッキングウィンドウのコンテナポートマッピング、および私たちのウィンドウに仮想マシンによってマッピング:Windowsシステム
注:ネットワークアドレス変換(NAT)を選択する際に、当社の仮想マシンネットワークの選択を、私たちは、この層ポートマッピングの問題のウィンドウに仮想マシンの真ん中を考慮していません
マウンティング
ミラーのような人々のドッカーの多くを使用する場合は、避けることができないアプリケーションのミラーに直接パッケージ、直接ブートイメージ、OKすべてのもの、しかし、我々は時々、特に、コンフィギュレーションファイルまたはいくつかのプロジェクトをいくつかのマイナーな修正を行うことですわずかな変更で、この時間は、我々はまだ、ミラーを再実行する必要がありますか?答えは、それが必要ではなく、必要とされていません
私たちは、nginxのフロントエンドのイメージ展開を使用しますが、放出パターンは少し微調整が必要で見つけた後、我々はまた、それの鏡像を再作成する必要がされていないので、我々は、我々が考える(少なくとも私は多くの問題を感じると思います)のトラブルの多くを感じることはありません単純に変更されたファイルにライン上の容器をカバーした文書を入れて、どのように変更されたファイルカバーコンテナファイルに二つの方法を指示するために:最初のcpファイルを直接容器に、我々はまだしなければならないプロセスを容器の操作は、どのように我々は、コンテナにそれを移動することはできませんか?私たちは、ホストにブート時にマウントされた容器の後ろに何かを変更するために直接マウントすることができますので、私たちは、コンテナをホストするファイルまたはディレクトリをマウントするために-vパラメータを使用して、開始時刻をコンテナを移動しないでください
docker run -d -p 80:80 -v /c/Users/SunArmy/Desktop/html:/usr/share/nginx/html nginx
私達はちょうどindex.htmlを歓迎nginxの内側に書かれた書き込み
index.htmlには/ opt /ドッキングウィンドウ/ HTML /下をカバーするこのドキュメント
再び訪問
OK直接再起動する必要はありません
容器に直接CPを選択しないのはなぜ
そこには確かにある再起動する必要がある設定ファイルを変更する必要がある場合場合は、ですが、変更した設定ファイルにするとき、あなたのコンテナ間違った、と今回立ち上がってしたいですコンテナの構成を変更し、それは我々が外にマウントする設定ファイルを置く場合は、起動時に(コンテナを再作成しない限りは)、練習のために、あなたがホスト上で直接編集することができますが正しく再起動するように構成されていることはしないだろうこれは、開始要約、便利で安全な方法へのcpコンテナよりも道をマウントすることができます
JQツール
最後に、JSONツールの操作は、これは我々が調べ我々がドッキングウィンドウを選択します通常の状況下では、我々が懸念している情報の一部をフィルタリングする傾向があり、IDビューのコンテナ設定を検査ドッキングウィンドウを使用し、使用した容器の構成図である--format =やgrepを使用して
しかし、使用する1つどんなにクールで操作JSONをフィルタリングするための最も身近な方法ではありません
JQツールは、個別のyumをインストールJQが必要です
アドレスを取得する検査JQフィルタドッキングウィンドウを使用します
docker inspect ac |jq -r .[0].NetworkSettings.IPAddress
. 代表管道前面的输出,之后的[0]就是数组的第1个元素,后面的 . 就是类似于点出对象中的属性一样,跟我们平时使用json是一样的,jq还能方便的格式化查看json文件,对于在命令行下查看json文件简直是利器
修改Docker本地镜像和容器的存储位置
很多人都是只知道创建了容器,从来没有关注过创建的容器在哪?本地镜像在哪?
但是,当你不得不关注的时候往往就是你的docker镜像和容器把你的盘装满了
查看Docker镜像和容器存储的位置
docker info |greo Docker
默认位置就是:/var/lib/docker
修改存储位置的方法有两种:
一):通过建立软连接,把/var/lib/docker 移动到其他地方,建立到这里的软连接
# 停止docker service docker stop # 移动/var/lib/docker 到/usr/local/ mv /var/lib/docker /usr/local/ # 建立软连接 ln -s /usr/local/docker /var/lib/docker # 启动Docker service docker start
这个时候我们已经修改了,但是查看位置的时候看到的位置还是/var/lib/docker
但是这是个链接,可以查看大小发现是空的,真实的存储位置已经成为了/usr/local/docker
# 查看/var/lib/docker目录大小 du -dh /var/lib/docker
二):修改配置文件
默认配置文件/etc/docker/daemon.json
如果没有的话就自己创建
{ "registry-mirrors": ["http://hub-mirror.c.163.com"], "graph":"/opt/docker" }
直接修改 graph 的值为你的位置然后重启,OK
启动
service docker stop
停止
service docker start
重启
service docker restart
再查看docker的存储位置,已经修改成功