Linuxクラウドコンピューティングアーキテクチャ-ドッカーコンテナ仮想化プラットフォームの展開(1)

Linuxクラウドコンピューティングアーキテクチャ-Dockerコンテナ仮想化プラットフォームの展開(1)

1.Dockerの概要

Dockerは、オープンソースのアプリケーションコンテナエンジンです。開発者は、アプリケーションと依存関係をポータブルコンテナにパッケージ化してから、仮想化も可能な一般的なLinuxマシンに公開できます。コンテナはサンドボックスメカニズムを完全に使用し、コンテナ間にインターフェイスはありません。パフォーマンスのオーバーヘッドはほとんどなく、マシンやデータセンターで簡単に実行できます。最も重要なことは、それらは言語、フレームワーク、またはパッケージングシステムに依存しないことです。

Dockerは、dotCloudによるLXCベースの高度なコンテナエンジンオープンソースです。ソースコードは、Githubホストされ、Go言語とApache2.0プロトコルに準拠したオープンソースに基づいています。

LinuxコンテナテクノロジであるLXC(Linuxコンテナ)は、命令解釈メカニズムやその他の完全仮想化の複雑さを提供することなく、プロセスとリソースを分離する軽量仮想化を提供できるカーネル仮想化テクノロジです。各ユーザーインスタンス間namespace分離は、主にカーネルを介して実現されますcgroupsリソースの割り当てと測定の実現を通じて

Dockerの目的: Dockerイメージは一度作成され、どこでも実行されます。

Docker公式サイトhttps://www.docker.com/

ここに写真の説明を挿入

ドッカーサーバーはクジラと見なすことができ、コンテナはクジラのコンテナと見なすことができます。

Dockerコンテナと仮想マシンはどちらも仮想化テクノロジーです。DockerにはHypervisor仮想マシンが含まれていないため、Dockerは仮想マシンよりも効率的です。dockerインスタンスを開始するのに約1〜2秒かかります。

仮想マシンテクノロジー:
ここに写真の説明を挿入
ドッカーコンテナテクノロジー:
ここに写真の説明を挿入

2.Dockerアーキテクチャ

2.1Dockerの動作原理

ここに写真の説明を挿入

2.2Dockerコアテクノロジー

テクノロジー1:名前付け[コンテナのプロセス、ネットワーク、メッセージ、ファイルシステム、およびホスト名を分離します]

テクノロジー2:cgroup [cpuとメモリの割り当てなど、リソースの割り当てと測定を実現する]

機能:
ファイルシステムの分離:各プロセスコンテナは完全に独立したルートファイルシステムで実行されます。
ネットワークの分離:各プロセスコンテナには独自のネットワーク、仮想インターフェイス、およびIPアドレスがあります。
ログの分離:dockerは各プロセスコンテナの情報を収集して記録します。リアルタイム検索とバッチ検索の標準ストリーム。
変更管理:コンテナファイルシステムへの変更を新しいイメージに送信できます。このイメージを再利用して、より多くのコンテナを作成できます。
リソースの分離:システムリソースはオンデマンドで割り当てられ、相互に分離されます。cgroupを使用して
インタラクティブシェルを構成する:dockerは仮想端末を割り当てて、任意のコンテナーの標準入力ストリームに関連付けることができます。
利点:
1。vmよりも小さく、vmよりも高速で、コンテナーインスタンスの開始に1〜2秒しかかかりません
。2。dockerは1つです。分散アプリケーションを構築、公開、および実行するためのオープンプラットフォーム。
3.会社のローカルエリアネットワーク、クラウド、および仮想マシンでdockerを使用できます
。4。開発者はアプリケーションが使用するオペレーティングシステムを気にする必要がありません
。5。Unix/ Linux、Windows、Macおよびその他のオペレーティングシステムでdockerを使用できます。
欠点:
1。dockerアプリケーションで使用する場合に最も役立ちますが、データは含まれません。ログ、トレース、およびデータベースは、ドッカーコンテナの外部に配置されます。コンテナの画像は小さいことが多く、大量のデータを保存するのには適していません。ストレージは外部マウントによって実現できます。[Dockerはコンピューティングにのみ使用され、ストレージは他のユーザーに渡されます]
2. mysqlおよびoracleデータベースは、大量のデータを格納するdockerでの実行には適していません。

3.Dockerの展開

老名字:docker、docker-engine【yuminstalldocker】【yuminstalldocker-engine】

新しい名前:docker-ce(オープンソース)、docker-ee(クローズドソース)

dockerをインストールします。

# 安装docker环境依赖
[root@server ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

# 配置国内docker的yum源,这里使用aliyun的
官方源:https://download.docker.com/linux/centos/docker-ce.repo
阿里源:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
清华源:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

# 安装docker
[root@server ~]# yum install docker-ce docker-ce-cli containerd.io -y

# 启动并开机自启
[root@server ~]# systemctl start docker && systemctl enable docker

# 查看docker的版本信息、系统信息(容器和镜像个数)
[root@server ~]# docker version
Client: Docker Engine - Community
 Version:           19.03.13
 API version:       1.40
 Go version:        go1.13.15
 Git commit:        4484c46d9d
 Built:             Wed Sep 16 17:03:45 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.13
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       4484c46d9d
  Built:            Wed Sep 16 17:02:21 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.3.7
  GitCommit:        8fba4e9a7d01810a393d5d25a3621dc101981175
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

[root@server ~]# docker info
Client:
 Debug Mode: false

Server:
 Containers: 0    -- 容器个数
  Running: 0      -- 运行的容器个数
  Paused: 0       -- 终止的容器个数
  Stopped: 0      -- 停止的容器个数
 Images: 0        -- 镜像个数
 Server Version: 19.03.13

dockerの簡単な使用:画像をプル
ここに写真の説明を挿入

# docker的使用
# 搜索image,OFFICIAL为OK才是安全可用的。
[root@server ~]# docker search centos

# 从docker hub上下载image到docker服务器
[root@server ~]# docker pull centos
=================================================================
pull的四种方法:
法1:使用阿里云docker镜像加速器,提升pull的速度
创建配置文件 /etc/docker/daemon.json【推荐使用】
{
    
    "registry-mirrors": ["https://e9yneuy4.mirror.aliyuncs.com"] }
修改docker服务启动脚本【不推荐使用】
# 重新加载systemd服务脚本
systemctl daemon-reload
# 重启docker服务
systemctl restart docker

法2:使用网易镜像https://c.163.com/hub#/m/home/

法3:将image导入容器 
docker load -i /root/docker.io-centos-lastest-image.tar

法4:下载其他站点的应用程序
docker pull hub.c.163.com/library/tomcat:latest
=================================================================
# 列出本地所有镜像,通过info可以看到有一个镜像,通过images可以看到具体是哪个镜像。
[root@server ~]# docker info
Client:
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 1
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              0d120b6ccaa8        8 weeks ago         215MB

# 删除镜像前必须删除使用该镜像创建的容器,否则只会删除镜像的TAG
[root@server ~]# docker rmi 0d120b6ccaa8

Dockerイメージには、プログラムと、プログラムが依存するライブラリまたはバイナリファイルが含まれます。

# 开启NAT网络转发功能
[root@server ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward=1
[root@server ~]# sysctl -p    # NAT立即生效
net.ipv4.ip_forward = 1
[root@server ~]# cat /proc/sys/net/ipv4/ip_forward
1

# 启动docker实例
[root@server ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              0d120b6ccaa8        8 weeks ago         215MB
[root@server ~]# docker run -it centos:latest /bin/bash
# 新开一个终端查看正在运行的docker容器,可以看到有一个容器实例正在运行。
[root@server ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
19c2d3353908        centos:latest       "/bin/bash"         16 seconds ago      Up 15 seconds                           elastic_proskuriakova

# 关闭firewalld防火墙后,需重启docker服务,否则ip包转发功能无法使用。
[root@server ~]# systemctl stop firewalld
[root@server ~]# systemctl restart docker

4.Dockerコンテナ仮想化プラットフォームの使用

コマンドを実行する 意味
Docker画像 そこにあるドッカー画像を見る
docker run -it centos:latest bash コンテナを実行し、ミラーセントをロードし、ドッカーインスタンス環境を開始し、インスタンスでbashコマンドを実行します
出口 インスタンス環境を終了します
パラメータ 意味
-私 コンテナをインタラクティブモードで実行します。通常は-tとともに使用します
-t コンテナの疑似出力端子を再割り当てします。通常は-iとともに使用されます。
-d バックグラウンドでコンテナを実行し、コンテナIDを返します
-c 完了するコマンド
dockerログコンテナID |コンテナショートID コンテナからログを取得し、出力コンテンツを表示します。これを使用して、後でエラーメッセージまたはdockerインスタンスの標準出力にポップアップ表示される通常の情報を確認できます。
docker ps 実行中のすべてのコンテナを一覧表示します
docker ps -a スリープ状態または終了状態のコンテナを含む、すべてのコンテナを一覧表示します。
殺します コンテナを殺す
実行 コンテナインスタンスを作成して実行します
やめる インスタンスを停止します
開始 インスタンスを開始します
再起動 インスタンスを再起動します
docker exec-itコンテナ名|コンテナID / bin / bash コンテナに入る
rm インスタンスが停止している場合は、インスタンスを削除します
rm -f 実行中のインスタンスである可能性がある強制削除。

実際の戦闘訓練:

# 后台运行一个容器实例,并在容器中的终端执行命令df -h,返回值是容器ID
[root@server ~]# docker run -d centos:latest /bin/bash -c "df -h"
3e5930e087a17e6f11298a1786844da22facb390e90115d7a8ff57cce0b33a09
[root@server ~]# docker logs 3e59
Filesystem                      Size  Used Avail Use% Mounted on
overlay                          17G  6.1G   11G  36% /
tmpfs                            64M     0   64M   0% /dev
tmpfs                           910M     0  910M   0% /sys/fs/cgroup
shm                              64M     0   64M   0% /dev/shm
/dev/mapper/centos_master-root   17G  6.1G   11G  36% /etc/hosts
tmpfs                           910M     0  910M   0% /proc/acpi
tmpfs                           910M     0  910M   0% /proc/scsi
tmpfs                           910M     0  910M   0% /sys/firmware
# 启动一个容器实例
[root@server ~]# docker run -it centos:latest /bin/bash
[root@397d90de57b3 /]# 
# 新开一个终端,杀死启动的容器实例
[root@server ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
397d90de57b3        centos:latest       "/bin/bash"         37 seconds ago      Up 36 seconds                           recursing_jepsen
[root@server ~]# docker kill 397d90de57b3
397d90de57b3
# 启动一个容器实例
[root@server ~]# docker run -it centos:latest /bin/bash
# 新开终端
[root@server ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
21a11864b0ad        centos:latest       "/bin/bash"         13 seconds ago      Up 12 seconds                           sad_albattani
[root@server ~]# docker stop 21a11864b0ad
21a11864b0ad
[root@server ~]# docker start 21a11864b0ad
21a11864b0ad
[root@server ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
21a11864b0ad        centos:latest       "/bin/bash"         56 seconds ago      Up 17 seconds                           sad_albattani
# 进入容器
[root@server ~]# docker exec -it 21a11864b0ad /bin/bash
[root@21a11864b0ad /]# 
# 查看所有的容器
[root@server ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                   PORTS               NAMES
21a11864b0ad        centos:latest       "/bin/bash"              2 hours ago         Up 2 hours                                   sad_albattani
3e5930e087a1        centos:latest       "/bin/bash -c 'df -h'"   3 hours ago         Exited (0) 3 hours ago                       gracious_aryabhata
# 进入到某个容器
[root@server ~]# docker exec -it 21a11864b0ad /bin/bash
# 删除某个容器
[root@server ~]# docker rm 3e
3e
[root@server ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
21a11864b0ad        centos:latest       "/bin/bash"         3 hours ago         Up 3 hours                              sad_albattani

5.Dockerはイメージを作成します

apacheサービスをインストールします。

[root@21a11864b0ad /]# cat /etc/redhat-release 
CentOS Linux release 8.2.2004 (Core) 
[root@21a11864b0ad /]# yum install -y httpd

コンテナの現在の状態を保存するために、現在のコンテナをミラーイメージにすることができます。

Docker Image 的制作两种方法:
#保存container的当前状态到image后,然后生成对应的image【快照】
方法 1:docker commit 容器ID 新镜像名[repository:tag]
[root@server ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
21a11864b0ad        centos:latest       "/bin/bash"         3 hours ago         Up 3 hours                              sad_albattani
[root@server ~]# docker commit 21a11864b0ad centos:httpd
sha256:a1b9cc833f6c02944fdd0a4021179bbe4ce28008ddc46d0d4852e3c9e65991bb
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              httpd               a1b9cc833f6c        9 seconds ago       254MB
centos              latest              0d120b6ccaa8        8 weeks ago         215MB

#使用Dockerfile文件自动化制作image
方法 2:docker build    

方法2の具体的な実現:

1. 创建工作目录和Dockerfile文件
[root@server ~]# mkdir /opt/docker
[root@server ~]# cd /opt/docker/
[root@server docker]# touch Dockerfile

2. 编辑Dockerfile
[root@server docker]# vim Dockerfile
FROM centos:latest        # 基于哪个镜像制作镜像
MAINTAINER <[email protected]>   # 镜像创建者
RUN yum install -y httpd
ADD start.sh /usr/local/bin/start.sh    # 本地文件替换容器内的对应路径中的文件
ADD index.html /var/www/html/index.html
CMD /usr/local/bin/start.sh             # 终端执行脚本,一个Dockerfile文件中仅有一个CMD语句,存在多个时最后一个有效。

3. 创建start.sh启动脚本启动apache服务和apache首页index.html文件
root@server docker]# echo "/usr/sbin/httpd" > start.sh
[root@server docker]# chmod a+x start.sh
[root@server docker]# echo "docker image apache" > index.html

4. 使用build命令创建新的镜像
docker build -t 原镜像名[repository:tag] ./
[root@server docker]# docker build -t centos:httpd ./

5. 查看镜像
[root@server docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              httpd               1e0cccb31310        10 seconds ago      254MB
centos              latest              0d120b6ccaa8        8 weeks ago         215MB

6.Dockerリリース

ドッカー画像を公開する2つの方法:
①画像をtarballに保存する

docker save -o tar包名 镜像名[repository:tag]  # 导出
docker load -i tar包名    #导入

# 导出镜像
[root@server ~]# docker save -o docker-centos-httpd.tar.gz centos:httpd
[root@server ~]# ll docker-centos-httpd.tar.gz 
-rw------- 1 root root 262351872 10月  8 13:07 docker-centos-httpd.tar.gz

# 导入镜像
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              httpd               1e0cccb31310        6 minutes ago       254MB
centos              latest              0d120b6ccaa8        8 weeks ago         215MB
[root@server ~]# docker rmi centos:httpd
Untagged: centos:httpd
Deleted: sha256:1e0cccb3131058019c071b7c93f69c149482fa9cf1f0332a25b8c6711c4da94a
Deleted: sha256:ac16f03b97984ee900ef5d031f164cfaeaa6cd8dc019ce72cc959dff632501a8
Deleted: sha256:c9abe0f55ae1426a5e07f09cd9dc7ed854fe9811463871408c7c96c23160a4e2
Deleted: sha256:8764928fbf45abca97f14c34ef943767a5c9501f8e4711bd3a14c8e08b319934
Deleted: sha256:6560e60c44efb0f75384dce5c108bbe657268454aed3931f0e65c42f620e2294
Deleted: sha256:6201f9e06a0712f85fb608bcf920f6faaeb90fafa715f5de45e037f7d1e38805
Deleted: sha256:8735743637ddd6750349b5cf46d4e09663979b0f5bf9d25ceda53d865b8f55b0
Deleted: sha256:986b70081cb31f68b2aa7d32129bdb9babbc4ca2f0a55ecae18c7463bedbc206
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              0d120b6ccaa8        8 weeks ago         215MB
[root@server ~]# docker load -i docker-centos-httpd.tar.gz 
45dcccff5e24: Loading layer  39.97MB/39.97MB
4d2bed0847aa: Loading layer  3.584kB/3.584kB
78d2cfc17a25: Loading layer  3.584kB/3.584kB
Loaded image: centos:httpd
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              httpd               1e0cccb31310        7 minutes ago       254MB
centos              latest              0d120b6ccaa8        8 weeks ago         215MB

②画像をDockerハブにプッシュします

1. 注册账号:https://hub.docker.com/
2. 标记本地镜像,将其归入某一仓库。
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              httpd               b5c91959b65d        About an hour ago   254MB
centos              latest              0d120b6ccaa8        8 weeks ago         215MB
[root@server ~]# docker tag centos:httpd abong123/centos:httpd    # 为镜像分类,仍为同一镜像。
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
abong123/centos     httpd               b5c91959b65d        About an hour ago   254MB
centos              httpd               b5c91959b65d        About an hour ago   254MB
centos              latest              0d120b6ccaa8        8 weeks ago         215MB
3. 登录到docker hub
[root@server ~]# docker login -u abong123 -p123456
4. 上传镜像
[root@server ~]# docker push abong123/centos:httpd
5. 删除centos:httpd镜像
[root@server ~]# docker rmi abong123/centos:httpd
Untagged: abong123/centos:httpd
Untagged: abong123/centos@sha256:64b4e1a73d1bb959e222a6098bf45cec472b23a0b95be779a9f427168b8eb3bb
6. 下载镜像
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              httpd               b5c91959b65d        2 hours ago         254MB
centos              latest              0d120b6ccaa8        8 weeks ago         215MB
[root@server ~]# docker pull abong123/centos:httpd
httpd: Pulling from abong123/centos
Digest: sha256:64b4e1a73d1bb959e222a6098bf45cec472b23a0b95be779a9f427168b8eb3bb
Status: Downloaded newer image for abong123/centos:httpd
docker.io/abong123/centos:httpd
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
abong123/centos     httpd               b5c91959b65d        2 hours ago         254MB
centos              httpd               b5c91959b65d        2 hours ago         254MB
centos              latest              0d120b6ccaa8        8 weeks ago         215MB

7.コンテナポートマッピング

コンテナポートマッピングの原理:コンテナを実行するアプリケーションは特定のポート番号を占有し、NATネットワークアドレス変換を介してドッカーサーバー上の未使用のポート番号にマップされ、ドッカーサーバーのアドレスとポート番号にアクセスすることでアクセスできます。コンテナ内のアプリのコンテンツ。

コンテナコンテナを起動し、ポートマッピングを実行します。

# -p 物理机80端口:容器实例的80端口
# 把容器中的80端口号映射到物理机的80端口上,这样可以使得容器中的内容可以外部访问。
[root@server ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              httpd               b5c91959b65d        32 minutes ago      254MB
centos              latest              0d120b6ccaa8        8 weeks ago         215MB
[root@server ~]# docker run -it -p 80:80 centos:httpd
[root@f4ad69e99787 /]# netstat -antup |grep 80
bash: netstat: command not found
[root@f4ad69e99787 /]# ifconfig
bash: ifconfig: command not found
[root@f4ad69e99787 /]# yum install net-tools -y    # 安装网络软件包
[root@f4ad69e99787 /]# netstat -antup | grep 80
[root@f4ad69e99787 /]# /usr/sbin/httpd 
[root@f4ad69e99787 /]# netstat -antup | grep 80      # docker容器要正常监听80端口号
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      29/httpd   
[root@f4ad69e99787 /]# vi /etc/httpd/conf/httpd.conf 
     98 ServerName localhost:80
[root@2531def57c03 /]# exit
exit
[root@server ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@server ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                           PORTS               NAMES
f4ad69e99787        centos:httpd        "/bin/bash"         8 minutes ago       Exited (0) 10 seconds ago                            xenodochial_chandrasekhar
21a11864b0ad        centos:latest       "/bin/bash"         13 hours ago        Exited (255) About an hour ago                       sad_albattani
[root@server ~]# docker start f4ad69e99787
f4ad69e99787
[root@server ~]# docker ps    # 容器要正常运行
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                NAMES
f4ad69e99787        centos:httpd        "/bin/bash"         8 minutes ago       Up 2 seconds        0.0.0.0:80->80/tcp   xenodochial_chandrasekhar

[root@server ~]# netstat -antup | grep 80           # docker服务器上的80端口号被占用     
tcp6       0      0 :::80                   :::*                    LISTEN      27806/docker-proxy  

dockerサーバーアドレスにアクセスしますhttp://192.168.43.178/

ここに写真の説明を挿入
あなたは、通常、物理マシンのアドレスを開くことができない場合、あなたは次のことを確認することができます
①Whetherは、物理マシンの80ポート番号は、ファイアウォールが80ポート番号を開くかどうか、である外部からのアクセスを可能にします。
②実世界のポート80が他のアプリケーションによって占有されているかどうか。
③コンテナの80ポート番号が占有されているかどうか、およびapacheサービスがオンになっているかどうか
④NATネットワーク転送機能がオンになっているかどうかをコマンドでcat /proc/sys/net/ipv4/ip_forward確認すると、結果は1でオンになります。
⑤船は正常に動作しており、docker ps表示に使用できます

実行中のコンテナインスタンスを入力します。

# 进入容器
docker exec -it 容器名|容器ID /bin/bash

コンテナのネットワークを表示します。

# 进入容器中,安装net-tools包
[root@d0d20c406c83 ~]# yum install net-tools -y
[root@d0d20c406c83 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 163  bytes 343276 (335.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 124  bytes 8554 (8.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

8.学習経験(1)

docker容器スタディは镜像(image)テンプレートと見なすことができ模板库(docker hub)そこに保存され拉取(pull)ます容器实例(container)テンプレートライブラリからテンプレートを取得し、そのテンプレートを使用してテンプレートを作成する必要があります現時点では、このコンテナインスタンスは、アプリケーションまたはサービスの実行に使用するキャリアです。コンテナがあり创建运行(run)启动(start)停止(stop)重启(restart)删除(rm)查看(ps)またミラーを作るために使用することができ、ミラーは後で使用するためのライブラリに保存されたテンプレートに公開することができます。コンテナ内の特定のサービスまたはアプリケーションが占めるNAT映射ポート番号は、外部アクセスのために物理マシンの特定のポート番号に到達できます。

おすすめ

転載: blog.csdn.net/weixin_36522099/article/details/108861134
おすすめ