この記事では、Docker コア技術のコンテナー操作、Dockerfile の詳細な説明など、関連する質問をいくつか紹介します。お役に立てれば幸いです。
##2. Docker のインストール
3. コンテナ操作
##開始:終了したコンテナを開始します
コンテナの停止
コンテナプロセスの表示
#docker ps##docker Inspection
docker cp file1
#docker はコンテナを終了し、コンテナを閉じます: exit
: 形式:
From & LT; Image & GT FROM
From & LT; Image & GT;@& LT; Digest & GT;
## 例:## Ubuntu
#AINTAINER: メンテナンス情報
MAINTAINER
例
MAINTAINER リボン
RUN: コマンドイメージのビルド時に実行 シェル実行: RUN
実行: RUN ["executable", "param1", "param2" "]
例:
RUN apk update
RUN ["/etc/execfile", "arg1", "arg2"]
RUN apt-get update && apt 2 つのコマンド -get install は常に && で接続されます。そうでない場合、apt-get update ビルド層がキャッシュされ、新しいパッケージのインストールに失敗します
ADD: ローカル ファイルをコンテナに追加します。tar
ADD < ;src> ...
例:
ADD bin/amd64/httpserver /httpserver
COPY: この関数は ADD と似ています。ただし、ファイルは解凍されず、ネットワーク リソースにアクセスできませんFormat :
COPY 例: COPYbin/amd64/httpserver /httpserver CMD ["executable","param1","param2"] (実行可能ファイルを実行、優先順位) CMD コマンド param1 param2 (シェル内部コマンドの実行) ["ethtool", "--help"] CMD echo "1111" ENTRYPOINT ["executable", "param1", "param2"] (実行ファイル、優先度) ENTRYPOINT /httpserver CMD [-c] Format:
例: 。 形式:
例:#形式:
ラベル
ENV: 環境変数を設定します
EXPOSE: 外部インタラクションを指定しますポート
VOLUME: 永続化ディレクトリの指定に使用されます
USER: 実行を指定しますコンテナのユーザー名または UID、およびその後の RUN でも、指定されたユーザーが使用されます。
USER uid
USER uid:gid
USER ユーザー:gid
USER uid:group
例:
USER www
ARG: ビルド ランタイムに渡される変数を指定するために使用されます
ARG build_user=ribbon
#
Linux NameSpace_Frank_Abagnale のブログ - CSDN ブログ この記事では、詳細について説明します。この記事を参照してください。
lsns -t
ls -la /proc/
nsenter -t
# Set cpuquota
成功が 200% を占めることがわかります。CPU リソースは 1% に減少します。
プロセスを cgroups 構成グループに構成します
最大メモリ サイズを設定します。# OOM によってプログラムが強制終了されるのを待機しています。dmesg は強制終了情報を確認できます。
注: 自己作成した cgroup フォルダーを削除するには、cgroup-tools
# を使用する必要があります。
#7. Union FSDocker で使用されているテクノロジーはすべて Linux テクノロジーから派生したものであり、革新的なものはなく、Docker の革新的な点はファイル システムです。
の図 Docker イメージの設計には、レイヤーの概念が導入されています。つまり、ユーザーのイメージ作成操作の各ステップでレイヤー、つまり増分 rootfs (ディレクトリ) が生成され、アプリケーション A とアプリケーション B が配置されているコンテナーが同じ ubuntu オペレーティング システム レイヤーとGolang 環境層 (読み取り専用層) には、それぞれ独自のアプリケーション層と書き込み可能層があります。コンテナーを起動するときに、コンテナーのルート ファイル システムとして UnionFS を介して関連するレイヤーをディレクトリにマウントします。
#3. コンテナ ストレージ ドライバー 4. Union FS をシミュレートして、効果overlay マウント方法 を使用して実験を行います。overlayfs は 3 つのディレクトリを通過します。上位ディレクトリと作業ディレクトリが実装されています。下位ディレクトリは複数存在できます。作業ディレクトリは基本的な作業ディレクトリです。マウント後、内容はクリアされ、使用中にその内容はユーザーには表示されません。最後に、ジョイントユーザーに表示される統合されたビューは、マージされたディレクトリと呼ばれます。
次のコマンドを実行します:mkdir upper lower merged work echo "lower" > lower/in_lower.txt echo "from lower" > lower/in_both.txt echo "from upper" > upper/in_both.txt echo "upper" > upper/in_upper.txt path=$(pwd) mount -t overlay overlay -o lowerdir=${path}/lower,upperdir=${path}/upper,workdir=${path}/work ${path}/merged
8. Docker ネットワーク
$ yum install Bridge-utils
Ubuntu システム:
$ apt-get install Bridge-utils
2. Docker ネットワーク モード
Docker ネットワーク論理図ブリッジと NAT
4) コンテナ モード: --net=container:NAME_or_ID を使用して指定します。他のコンテナのネットワーク構成を利用する
# ネットワークモード図はおおよそ以下のとおりです3. Docker の動作をシミュレートしてネットワーク ブリッジを開始します
nginx Docker で eth0 ネットワーク デバイスを生成する
# nginx はアクセスできます
#使用後に指定された nat ルールを削除します
推奨される学習: 「以上がDockerコアテクノロジーを最も体系的に習得(概要の共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。