Docker day 1 Dockerとは

6433 ワード

Dockerの概要:
ミラーリングとは
基本概念
•Dockerではコンテナがミラーベースで起動•ミラーは起動コンテナのコア•ミラーは階層設計•スナップショットのCOW技術を採用し、下位データが失われないようにする
Docker hubミラーウェアハウス
• https://hub.docker.com•Dockerが公開ミラーを提供する倉庫(Registry)
容器とは
•コンテナ・テクノロジーがアプリケーションのカプセル化と提供の中核となっている•コンテナ・テクノロジーの中核となるコア・テクノロジーには、–CGroups(Control Group)-リソース管理–NameSpace-プロセス分離–SELinuxセキュリティ•物理マシン上での分離により、1つのプロセスを開始するように迅速にコンテナを起動
Dockerとは
•Dockerは完全なコンテナ管理システムです•Dockerは、最下位のカーネルテクノロジーに過度な関心を持たずにコンテナテクノロジーを直接使用するためのコマンドのセットを提供します.
Dockerの利点
•従来の仮想化技術に比べて、コンテナはよりシンプルで効率的である•従来の仮想マシンでは、VMごとにオペレーティングシステムをインストールする必要がある•コンテナで使用される共有ライブラリとプログラム
Dockerの欠点
•コンテナの分離性が仮想化されていない•Linuxカーネルを共用し、セキュリティに先天的な欠陥がある•SELinuxが制御しにくい•コンテナとコンテナの並べ替えを監視することが課題
Dockerのインストール
•dockerプラットフォームのインストールに必要なソフトウェア:–docker-engine-docker-engine-selinux–ファイアウォールを閉じる
dockerソフトウェアウェアハウスの構成
CentOS6[root@localhost ~]# vim/etc/yum.repos.d/docker.repo
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/6
#baseurl=https://yum.dockerproject.org/repo/main/centos/7
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

[root@localhost ~]# yum -y install docker-engine
CentOS7[root@localhost ~]# vim/etc/yum.repos.d/docker.repo
[dockerrepo]
name=Docker Repository
#baseurl=https://yum.dockerproject.org/repo/main/centos/6
baseurl=https://yum.dockerproject.org/repo/main/centos/7
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

[root@localhost ~]# yum install docker-engine docker-engine-selinux
dockerサービスの起動
システムctl enable dockersystemctl start dockerの起動の設定
基本使用
システムの構成が完了したばかりでミラーはありません
システムミラーの表示
docker images
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

公式ソースからミラーを検索
docker search busybox
[root@localhost ~]# docker search busybox
NAME                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
busybox                     Busybox base image.                             1168      [OK]       
progrium/busybox                                                            66                   [OK]
hypriot/rpi-busybox-httpd   Raspberry Pi compatible Docker Image with ...   39                   
radial/busyboxplus          Full-chain, Internet enabled, busybox made...   17                   [OK]
hypriot/armhf-busybox       Busybox base image for ARM.                     8                    
armhf/busybox               Busybox base image.                             4                    
arm32v7/busybox             Busybox base image.                             3                    
prom/busybox                Prometheus Busybox Docker base images           2                    [OK]
armel/busybox               Busybox base image.                             2                    
s390x/busybox               Busybox base image.                             2                    
onsi/grace-busybox                                                          2                    
p7ppc64/busybox             Busybox base image for ppc64.                   2                    
aarch64/busybox             Busybox base image.                             2                    
arm32v6/busybox             Busybox base image.                             1                    
spotify/busybox             Spotify fork of https://hub.docker.com/_/b...   1                    
ppc64le/busybox             Busybox base image.                             1                    
i386/busybox                Busybox base image.                             1                    
concourse/busyboxplus                                                       0                    
cfgarden/garden-busybox                                                     0                    
trollin/busybox                                                             0                    
yauritux/busybox-curl       Busybox with CURL                               0                    
ggtools/busybox-ubuntu      Busybox ubuntu version with extra goodies       0                    [OK]
amd64/busybox               Busybox base image.                             0                    
ddn0/busybox                fork of official busybox                        0                    [OK]
arm64v8/busybox             Busybox base image.                             0  

ミラーのダウンロード
docker pull busybox
[root@localhost ~]# docker pull busybox
latest: Pulling from busybox
97d69bba9a9d: Pull complete 
789355058656: Pull complete 
Digest: sha256:e3789c406237e25d6139035a17981be5f1ccdae9c392d1623a02d31621a12bcc
Status: Downloaded newer image for busybox:latest

ミラーのアップロード
docker push busybox
ミラーの基本操作:
ミラーのダウンロード、アップロード
•ミラーをダウンロード(ミラーウェアハウスからミラーをダウンロード)[root@localhost ~]# docker pull centos
•ミラーのアップロード(ミラーを倉庫にアップロード)[root@localhost ~]# docker push centos
ミラーのインポート、エクスポート
•ミラーのインポート(ローカルtarパッケージファイルからミラーをインポート)[root@localhost ~]# docker load < nginx.tar[root@localhost ~]# docker load < mysql.tar
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              358bf47a7a64        3 weeks ago         203.5 MB
busybox             latest              789355058656        7 weeks ago         1.129 MB
mysql               latest              82960a1161e0        14 months ago       383.4 MB
nginx               latest              affde4c9c317        14 months ago       181.4 MB

•ミラーのエクスポート(ローカルミラーをtarファイルにエクスポート)[root@localhost ~]# docker images[root@localhost ~]# docker save mysql > mysql-im.tar
ミラーの起動
•centosミラーを起動してコンテナを生成[root@localhost ~]# docker images[root@localhost ~]# docker run -it nginx bash
•別の端末を開く(コンテナ情報を表示)
[root@localhost ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
cd7551f2f4ad        nginx               "bash"              41 seconds ago      Up 40 seconds       80/tcp, 443/tcp     cranky_hoover       
[root@localhost ~]# 

転載先:https://blog.51cto.com/xmomo/2054477