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
[root@localhost ~]# yum -y install docker-engine
CentOS7[root@localhost ~]# vim/etc/yum.repos.d/docker.repo
[root@localhost ~]# yum install docker-engine docker-engine-selinux
dockerサービスの起動
システムctl enable dockersystemctl start dockerの起動の設定
基本使用
システムの構成が完了したばかりでミラーはありません
システムミラーの表示
docker images
公式ソースからミラーを検索
docker search busybox
ミラーのダウンロード
docker pull busybox
ミラーのアップロード
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
•ミラーのエクスポート(ローカルミラーを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
•別の端末を開く(コンテナ情報を表示)
転載先:https://blog.51cto.com/xmomo/2054477
ミラーリングとは
基本概念
•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