Dockerラーニングシリーズ1
15669 ワード
1.Dockerコンテナ学習
Docker依存Linuxカーネル特性
1.Namespaceネーミングスペース2.コントロールグループ
1.Namespaceネーミングスペース PID(Progress ID)プロセス分離 NET(Network)管理ネットワークインタフェース IPC(InterProcess Communication)プロセス間通信へのアクセスを管理する MNT(Mount)管理マウントポイント UTS(Unix Timessharing System)独立カーネルおよびバージョンID Docker容器の能力ファイルシステム分離:各コンテナには独自のrootファイルシステム があります.プロセス分離:各コンテナは、独自のプロセス環境で で実行されます.ネットワーク分離:コンテナ間の仮想ネットワークインタフェースとIPアドレスは別々の である.リソース分離およびパケット化:cgroupsを使用してCPUおよびメモリのようなリソースを各Dockerコンテナ に個別に割り当てる.
Dockerのインストールと構成
インストール前の検出
1.カーネルバージョン
2.デバイスマッパーの検出
Dockerインストール
Docker Engine-CommunityをインストールDockerウェアハウスを使用して新しいホストにDocker Engine-Communityを初めてインストールする前に、Dockerウェアハウスを設定する必要があります.その後、Dockerをウェアハウスからインストールおよび更新できます.
倉庫インストールに必要なパッケージを設定します.yum-utilsはyum-config-managerを提供し、device mapperストレージドライバにはdevice-mapper-persistent-dataとlvm 2が必要です.
安定倉庫の設置
Docker Engine-Community最新バージョンのDocker Engine-Communityとcontainerdをインストールするか、次のステップに進んで特定のバージョンをインストールします.
Dockerの起動
ハローワールドイメージを実行してDocker Engine-Communityが正しくインストールされていることを確認します
##2.コンテナの基本操作起動コンテナ
run新しいコンテナでコマンドを実行する
インタラクティブコンテナの起動
コンテナの表示
カスタムコンテナ名
停止したコンテナを再起動
停止したコンテナの削除
##3.デーモンコンテナ長期許容可能な容器 対話型セッションがない アプリケーションおよびサービスの実行に適した デーモンコンテナ1の起動
デーモンコンテナ2の起動
運転中のコンテナにアタッチ
コンテナログの表示
コンテナ内のプロセスの表示
実行中のコンテナ内で新しいプロセスを開始
デーモンコンテナの停止
ミラーの表示と削除
ミラーのリスト
ミラーの詳細の表示
ミラーの削除
ミラーの取得とプッシュ
ミラーの検索
ミラーをプル
--registry-mirrorオプション1を使用します.変更:/etc/default/docker 2.追加:DOCKER_OPTS="–registry-mirror=http://MIRROR-ADDR"
プッシュミラー
ミラーの構築容器への変更を保存し、 を再度使用する.カスタムミラー機能 は、サービスおよび実行環境 をソフトウェアとしてパッケージ化および配布する.
Dockerfileを使用したミラーの構築 Dockerfile を作成する$docker buildコマンド を使用
##DockerのC/Sモード接続方式 unix:///var/run/docker.sock tcp://host:port fd://socketfd
Dockerデーモンの構成と操作デーモンの表示
サービスコマンドを使用した管理
Dockerの起動オプション
実行関連
Dockerサーバ接続関連
RemoteAPI関連
ストレージドライバ関連
Registry相関
ネットワーク関連の構成
Docker依存Linuxカーネル特性
1.Namespaceネーミングスペース2.コントロールグループ
1.Namespaceネーミングスペース
Dockerのインストールと構成
インストール前の検出
1.カーネルバージョン
$uname -a
2.デバイスマッパーの検出
$ls -l /sys/class/misc/device-mapper
Dockerインストール
Docker Engine-CommunityをインストールDockerウェアハウスを使用して新しいホストにDocker Engine-Communityを初めてインストールする前に、Dockerウェアハウスを設定する必要があります.その後、Dockerをウェアハウスからインストールおよび更新できます.
倉庫インストールに必要なパッケージを設定します.yum-utilsはyum-config-managerを提供し、device mapperストレージドライバにはdevice-mapper-persistent-dataとlvm 2が必要です.
sudo yum install -y yum-utils device-mapper- persistent-data lvm2
安定倉庫の設置
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Docker Engine-Community最新バージョンのDocker Engine-Communityとcontainerdをインストールするか、次のステップに進んで特定のバージョンをインストールします.
$ sudo yum install docker-ce docker-ce-cli containerd.io
Dockerの起動
sudo systemctl start docker
ハローワールドイメージを実行してDocker Engine-Communityが正しくインストールされていることを確認します
sudo docker run hello-world
##2.コンテナの基本操作起動コンテナ
$docker run IMAGE [COMMAND] [ARG...]
run新しいコンテナでコマンドを実行する
インタラクティブコンテナの起動
$docker run -i -t IMAGE /bin/bash
-i --interactive=true | false false
-t --tty=true | false false
コンテナの表示
$docker ps [-a] [-l]
$docker inspect [name]
カスタムコンテナ名
$docker run --name=[ ] -i -t
停止したコンテナを再起動
$docker start [-i] [ ]
停止したコンテナの削除
$docker rm [ ]
##3.デーモンコンテナ
$docker run -i -t /bin/bash
Command+P Command+Q
デーモンコンテナ2の起動
$docker run -d [COMMAND] [ARG...]
運転中のコンテナにアタッチ
$docker attach [ ]
コンテナログの表示
$docker logs [-f] [-t] [--tail]
-f --follows=true | false false #
-t --timestamps=true | false false #
--tail="all" #
コンテナ内のプロセスの表示
$docker top [ ]
実行中のコンテナ内で新しいプロセスを開始
$docker exec [-d] [-i] [-t] [COMMAND] [ARG...]
デーモンコンテナの停止
$docker stop #
$docker kill #
ミラーの表示と削除
ミラーのリスト
$docker images [OPTIONS] [REPOSITORY]
-a, --all=fasle #
-f, --filter=[] #
--no-trunc=false # ID
-q, --quiet=false # ID
REPOSITORY #
TAG #
IMAGE ID # ID
CREATED #
SIZE #
ミラーの詳細の表示
$docker inspect [OPTIONS] CONTAINER | IMAGE | [CONTAINER|IMAGE...]
-f, --format=""
ミラーの削除
$docker rmi[OPTIONS] IMAGE [IMAGES...]
-f, --force=false #
--no-prune=false #
ミラーの取得とプッシュ
ミラーの検索
[Docker Hub](https://register.hub.docker.com)
$docker search [OPTIONS] TERM
--automated=false # docker
--no-trunc=false
-s, --stars=0 #
ミラーをプル
$docker pull [OPTION] NAME [:TAG]
-a, --all-tags=false #
--registry-mirrorオプション1を使用します.変更:/etc/default/docker 2.追加:DOCKER_OPTS="–registry-mirror=http://MIRROR-ADDR"
プッシュミラー
$docker push [IMAGE]
ミラーの構築
$docker commit #
$docker build # Dockerfile
$docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a, --author="" #
-m, --message="" #
-p, --pause=true #
Dockerfileを使用したミラーの構築
$docker build [OPTIONS] PATH | URL |
--force-rm=false
--no-cache=false
--pull=false
-q, --quiet=false
--rm=true
-t, --tag=""
##DockerのC/Sモード接続方式
Dockerデーモンの構成と操作
$ps -ef | grep docker
$sudo status docker
サービスコマンドを使用した管理
$sudo service docker start
$sudo service docker stop
$sudo service docker restart
Dockerの起動オプション
実行関連
-D, --debug=false
-e, --exce-driver="native"
-g, --graph="/var/lib/docker"
--icc=true
-l,--log-level="info"
--label=[]
-p,--pidfile="/var/run/docker.pid"
Dockerサーバ接続関連
-G, --group="docker" #
-H,--host=[] #
--tls=false #
--tlscacert="/home/sven/.docker/ca.pem"
--tlscert="/home/sven/.docker/cert.pem"
--tlskey="/home/sven/.docker/key.pem"
--tlsverify=false
RemoteAPI関連
--api-enable-cors=false
ストレージドライバ関連
-s, storage-driver=""
--selinux-enabled=fasle
--storage-opt=[]
Registry相関
--insecure-registry=[]
--reigstry-mirror=[]
ネットワーク関連の構成
-b,--bridge=""
--bip=""
--fixed-cidr=""
--fixed-cidr-v6=""
--dns=[]
--dns-serach=[]
--ip=0.0.0.0
--ip-forward=true
--ip-masq=true
--iptables=true
--ipv6=false
--mtu=0