1.はじめに:
Dockerは、Go言語に基づくオープンソースアプリケーションコンテナであり、Apache2.0プロトコルに準拠したオープンソースです。Dockerを使用すると、開発者はアプリケーションを軽量でポータブルなコンテナにパッケージ化して、一般的なLinuxマシンに公開できます。コンテナは完全にサンドボックスメカニズムを使用しており、それらの間にインターフェイスはなく、コンテナのパフォーマンスオーバーヘッドは非常に低くなっています。
2. Dockerアーキテクチャ:
イメージ:Dockerイメージ、Dockerコンテナーの作成に使用されるテンプレート。
コンテナー:dockerコンテナー、独立して実行される1つまたはグループのアプリケーション。
クライアント:docker client、dockerApiを使用してdockerデーモンと通信します
ホスト:Dockerホスト、Dockerデーモンおよびコンテナー(cetnos、ubuntuなど)を実行するために使用される物理マシンまたは仮想マシン。
レジストリ:Dockerウェアハウス、画像の保存に使用されます。
マシン:VirtualBox、Digital Ocean、MicrosoftAzureなどのDockerのインストールを簡素化するコマンドラインツール。
3、Dockerの最初の経験
centos7にdockerをインストールします。
yum install -ydockerデフォルトインストール
docker-ceのインストール:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce
インストールが成功したかどうかをテストします。servicedockerstart-dockerを起動し、dockerバージョンを表示します。dockerバージョンを表示します。
4:Dockerの従来の使用法:
Docker操作:
バージョン/情報-docker [バージョン/情報]
容器操作:
コンテナライフサイクル管理:docker【実行|開始|停止|再起動|強制終了| rm |一時停止|一時停止解除】
コンテナの操作とメンテナンス:docker【ps | inspect | exec | logs | export | import | port】
Container rootfsコマンド:docker [commit | cp | diff]
ミラー操作:
イメージ管理:docker [イメージ| rmi |タグ|ビルド|履歴|保存|インポート]
倉庫業務:
ミラーウェアハウス:docker [ログイン|プル|プッシュ|シーチャー]
5:コンテナの使用
docker run:コンテナを作成してコマンドを実行します
docker create:コンテナを作成しますが、開始しません
-d:コンテナをバックグラウンドで実行します
-i:コンテナをインタラクティブモードで実行します。通常は-tとともに使用します
-p:ポートマッピング。形式は次のとおりです。ホスト(ホスト)ポート:コンテナポート
-t:コンテナの疑似端末を再割り当てします。通常は-iと同時に使用されます。
--name = "zk":コンテナの名前を指定します
--dns 8.8.8.8:コンテナが使用するDNSサーバーを指定します。デフォルトはホストと同じです
-m:コンテナの最大メモリ使用量を設定します
--net = "bridge":ネットワーク接続タイプ、サポートbridge / host / none / container: 4つのタイプ。
--link = []:別のコンテナへのリンクを追加します
--expose = []:ポートまたはポートのグループを開きます
コンテナは、独立して実行されるアプリケーションまたはアプリケーションのグループ、およびそれらの動作環境です。
コンテナをインタラクティブに作成し、次のように入力します。dockerrun -it --name centos centos / bin / bash(フォアグラウンドプロセス)
exit:コンテナを終了して閉じます。
Ctrl + P + Q:コンテナを閉じずに終了します。
コンテナーをバックグラウンドで開始します。dockerrun-d--name nginx(コンテナー名)nginx(イメージ名)
実行中のコンテナーを入力します:docker exec -it nginx / bin / bash
コンテナのメタデータを表示します:docker inspect nginx
コンテナポートをホストにバインドします。dockerrun-d-p 8080:80 --name nginx nginx:latest
ホストファイルディレクトリをコンテナにマウントします。dockerrun-dit-v / root / peter_dir /; / pdir --name cent centos
ホストファイルをコンテナにコピーします 。dockerrun-dit-v / root / peter_dir /:/ pdir --name cent centos
ホストファイルディレクトリをコンテナにコピーします:docker cp anaconda-ks.cfg
ホストファイルをコンテナにコピーします:docker cp anaconda-ks.cfg cent:/ var
6.倉庫での使用:
リポジトリはミラーイメージが一元的に保存される場所です
Docker公式ウェアハウス:https://hub.docker.com、無料登録、メールアクティベーション
一般的なコマンド:Docker pull / search / login / push / tag
タグ:ローカルミラーにマークを付けて倉庫に入れます
プッシュ:画像をウェアハウスにプッシュします---ログインが必要です
検索:倉庫内のミラーを照会します---タグバージョンが見つかりません
プル:ミラーイメージをローカルにダウンロードします
ログイン:倉庫にログインします
7.プライベート倉庫の使用:
レジストリイメージを使用してプライベートウェアハウスを作成し、レジストリイメージをダウンロードします:docker pull Registry
ダウンロードを加速するための構成可能なアクセラレータ
vi /etc/docker/daemon.json
{{
"bip": "127.17.5.1/24"、
"registry-mirrors":["https://registry.docker-cn.com"]
}
開始:docker run -d --name reg -p 5000:5000レジストリ
で設定したHTTP伝送:systemctlデーモンリロード| systemctl再起動ドッカ
vi /etc/docker/daemon.json
{{
"bip": "127.17.5.1/24"、
"registry-mirrors":["https://registry.docker-cn.com"]、
"insecure-registries":["192.168.244.5:5000"]
}
docker tag hello-world http://192.168.244.5:5000/hello-world
docker push 192.168.244.5:5000/hello-world
クエリ:curl http://192.168.244.5:5000/v2/_catalog | http://192.168.244.5:5000/v2/hello-world/tags/list