docker基礎入門(一)
4263 ワード
1.検証準備
Dockerを標準インストールするにはLinuxカーネルが3.10より大きい64ビットオペレーティングシステムが必要である.以前のLinuxカーネルのバージョンはDockerを実行するいくつかの機能に対してまだ完備していないためです.
Ubuntu 15.10&14.04のシステムにDockerをインストールする場合はlinux-image-extraを使用してLinuxカーネルをインストールすることをお勧めします.
2.Docker Apt Repoソースの追加
まずdockerのGPG keyを導入して署名を検証し、apt-getを使用すればよい.
新しい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をクリアします.
次のコマンドを使用してaptインストールDockerをシステムにアップグレードします.
Dockerエンジンのインストールが正常に完了したら、Dockerサービスを開始します.
4.Dockerコンテナの管理
Dockerミラーを検索まずdoDocker hubでDockerコンテナミラーを検索します.次のコマンドはUbuntuのすべてのミラーをリストできます.
docker search ubuntu
Dockerミラーのダウンロード
ダウンロードはgithubでDockerコンテナをダウンロードします.
システムが前のステップのミラーを正常にダウンロードしたことを確認します.【存在するミラーのリスト】
docker images
A.ミラーを使用して新しいコンテナをパブリッシュする(基本的な方法)
最後に上からダウンロードしたミラーを使って新しいDockerコンテナをリリースします.次のコマンドは、新しいコンテナをパブリッシュし、/bin/bashを使用して表示できます.
B.ミラーを使用して新しいコンテナ(ポート指定)pullを発行する:Dockerの倉庫サーバからミラーまたは倉庫をドロップダウンする;
push:ミラーまたは倉庫をDockerの登録サーバにプッシュします.【-dプロセスデーモン、バックグラウンド実行】【-pポートマッピング-Pランダムポート】【-vローカルディレクトリからdocker nginxディレクトリへのマッピング】【--nameセルフコンテナ名】【/bin/bash shellインタラクション】
すべてのDockerコンテナを検証した後、以下のコマンドを使用してホスト上で実行中のコンテナを列挙します.
Containerの起動/停止/アクセス
次のコマンドを使用して、停止と任意の容器に入ることができます.
開始
ていし
コンテナの名前を変更します.
実行中のコンテナを再起動します.
コンテナをミラーリングする
実行中のコンテナにアタッチ
その他のコマンド
コンテナlaravelの作成
容器に入る
mysqlは外部ネットワークへのアクセスを許可します
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