docker基礎入門(一)

4263 ワード

1.検証準備
Dockerを標準インストールするにはLinuxカーネルが3.10より大きい64ビットオペレーティングシステムが必要である.以前のLinuxカーネルのバージョンはDockerを実行するいくつかの機能に対してまだ完備していないためです.
$ uname -r

3.19.0-49-generic

Ubuntu 15.10&14.04のシステムにDockerをインストールする場合はlinux-image-extraを使用してLinuxカーネルをインストールすることをお勧めします.
$ sudo apt-get install linux-image-extra-$(uname -r)

2.Docker Apt Repoソースの追加
まずdockerのGPG keyを導入して署名を検証し、apt-getを使用すればよい.
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

新しいaptプロファイルを/etc/apt/sourcesに作成します.list.d/docker.list
Ubuntu Wilyの場合15.10
deb https://apt.dockerproject.org/repo ubuntu-wily main
Ubuntu Trustyの場合14.04(LTS)
deb https://apt.dockerproject.org/repo ubuntu-trusty main
3.Dockerのインストール
システムのrepositoriesが最新であることを確認し、インストール前に前のDockerをクリアします.
$ sudo apt-get purge lxc-docker

次のコマンドを使用してaptインストールDockerをシステムにアップグレードします.
$ sudo apt-get update
$ sudo apt-get install docker-engine
$ sudo curl -sSL https://get.docker.com/ | sh

Dockerエンジンのインストールが正常に完了したら、Dockerサービスを開始します.
$ sudo service docker start


4.Dockerコンテナの管理
Dockerミラーを検索まずdoDocker hubでDockerコンテナミラーを検索します.次のコマンドはUbuntuのすべてのミラーをリストできます.
docker search ubuntu
Dockerミラーのダウンロード
ダウンロードはgithubでDockerコンテナをダウンロードします.
$  docker pull ubuntu

latest: Pulling from library/ubuntu

fa5be2806d4c: Pull complete 
b4af4261cb15: Downloading [==>               ] 3.779 MB/70.55 MB
5d358abc5d9c: Download complete 
2933d50b9f77: Download complete 

システムが前のステップのミラーを正常にダウンロードしたことを確認します.【存在するミラーのリスト】
docker images
$ docker images 

REPOSITORY  TAG            IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu      latest         36248ae4a9ac        7 days ago          188 MB

A.ミラーを使用して新しいコンテナをパブリッシュする(基本的な方法)
最後に上からダウンロードしたミラーを使って新しいDockerコンテナをリリースします.次のコマンドは、新しいコンテナをパブリッシュし、/bin/bashを使用して表示できます.
$ docker run -i -t ubuntu /bin/bash 

B.ミラーを使用して新しいコンテナ(ポート指定)pullを発行する:Dockerの倉庫サーバからミラーまたは倉庫をドロップダウンする;
push:ミラーまたは倉庫をDockerの登録サーバにプッシュします.【-dプロセスデーモン、バックグラウンド実行】【-pポートマッピング-Pランダムポート】【-vローカルディレクトリからdocker nginxディレクトリへのマッピング】【--nameセルフコンテナ名】【/bin/bash shellインタラクション】
#docker run -d -p 8080:80 -p 3306:3306 -v /var/www/:/usr/share/nginx/html/  --name my-lnmp bin/bash 

すべてのDockerコンテナを検証した後、以下のコマンドを使用してホスト上で実行中のコンテナを列挙します.
$ docker ps

CONTAINER ID     IMAGE     COMMAND        CREATED        STATUS        PORTS    NAMES
f2582758af13     ubuntu    "/bin/bash"    2 hours ago    Up 2 hours             first_ubuntu

                       containers.           (      )        .
$ docker ps -a

Containerの起動/停止/アクセス
次のコマンドを使用して、停止と任意の容器に入ることができます.
開始
$ docker start |

ていし
$ docker stop |

コンテナの名前を変更します.
$ docker rename |

実行中のコンテナを再起動します.
$ docker restart |

コンテナをミラーリングする
docker commit  mynewimage

実行中のコンテナにアタッチ
$ docker attach |

その他のコマンド
logs:      log   ;
network:   Docker    ,    、  、  、  、   ;
node:   swarm       ,    、  、  、  /       ;

コンテナlaravelの作成
docker run -dit -p 80:80 -p 3306:3306 -v /mydata/apps/:/apps/ --name testDocker registry.cn-hangzhou.aliyuncs.com/kfk/nginx-mysql-php7-composer:laravel /bin/bash

容器に入る
docker exec -it testDocker  /bin/bash

mysqlは外部ネットワークへのアクセスを許可します
mysql -u root -p
#    
#     
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'oMLQ813d7SuzoXUQ' WITH GRANT OPTION;

FLUSH PRIVILEGES;

service mysql stop
service mysql start