I.はじめに
ドッカー作曲公式のプロジェクトは、ドッカーコンテナクラスタの速いレイアウトを担当するオープンソースプロジェクトです。
以前導入することにより、我々はDockerfileは、ユーザーが簡単に、単一のアプリケーションコンテナを定義することができ、テンプレートファイルを使用して知っています。しかし、日常業務で、しばしば相互に複数のコンテナを必要とするタスクを完了するためにケースに遭遇します。例えば、Webサービス・コンテナ自体に加えて、多くの場合、またしても、ロードバランシングの容器を含む、バックエンドのデータベース・サービス・コンテナを追加する必要があり、Webプロジェクトを実施します。
ただ、この需要を満たすために構成します。これは、ユーザがプロジェクト(プロジェクト)のための単一ドッカー-compose.ymlテンプレートファイル(YAML形式)を介して、関連するコンテナアプリケーションのセットを定義することを可能にします。
作曲2つの重要な概念があります。
サービス(サービス):コンテナ・アプリケーションは、容器は実際には同じイメージを実行しているいくつかのインスタンスを含むことができます。
プロジェクト(プロジェクト):ドッカ-compose.yml定義ファイルで構成されるアプリケーションコンテナに関連するサービスの完全なセットで表す単位。
デフォルトの管理オブジェクトは、プロジェクト、サブコマンドによるコンテナのグループ簡単なライフサイクル管理のプロジェクトを作曲します。
マイクロシステム・サービス・アーキテクチャは、典型的には、マイクロ複数のサービス、サービス船の各マイクロ展開複数のインスタンスを含みます。手動で起動すると、それぞれのサービスですので、低効率、大規模の維持を停止する必要がある場合。
二、ドッカー作曲導入
あなたは簡単に、すべての依存関係その後、ドッカー・作曲のユーザーがこのアプリケーションのインストールの準備を完了するための指示をプロファイルを持つ多目的コンテナを定義することができます。ドッカー-作曲コンテナとコンテナ管理振り付け間の問題を解決する方法について説明します。
ドッカー作曲動作原理
書き込み2つの重要な概念があります。
(サービス):コンテナアプリケーション、容器は実際には同じ操作の同じ複数のインスタンスを含んでいてもよいです。
(プロジェクト):ドッカー-compose.ymlファイルで定義された組成物を適用することによってそれぞれの容器に関連付けられた完全なビジネスユニット。
サービス項目の複数は、単一の容器容易ライフサイクル管理サブプロジェクトは、プロジェクト管理のための(コンテナ)は、関連する組成物からなることができます。
コンテナを管理するための実装に提供されるAPIドッカーサービスを呼び出すことはPythonによって書かれた作曲プロジェクト、。そのため、長いドッカーのAPIをサポートするオペレーティング・プラットフォームとしてとして、あなたは、オーケストレーションの使用のCompose、その上に管理することができます。
ドッカー3つのレイアウトツール:
ドッカー作曲:マルチ容器アプリケーションを組み立てるために使用されるツール、分散アプリケーションは、クラスタスウォームに配備することができます。
ドッカーマシン:サポートマルチプラットフォームのインストールツールドッキングウィンドウ、ドッキングウィンドウを使用します。マシンは、簡単にノートドッカー、クラウドプラットフォームやデータセンター内に設置することができます。
ドッカースウォーム:ドッカーは、ネイティブのコミュニティが提供するコンテナのクラスタ管理ツールです。
詳細ドッカー作曲コマンド
使用ドッカーは、ドッキングウィンドウのコマンドを使用して非常によく似構成しますが、コマンドのほとんどは、ファイルドッキングウィンドウ-compose.ymlを実行するためのディレクトリを構成するために必要なことに留意すべきです。
デーモンモードプラス-dオプションで構成します
三、ドッカー作曲のインストール
#下载
sudo curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#安装
chmod +x /usr/local/bin/docker-compose
#查看版本
docker-compose version
第四に、実験環境
ホストコンピューター | IPアドレス | サービス |
---|---|---|
ドッキングウィンドウ | 192.168.1.11 | コン+ワードプレス |
ファイブドッキングウィンドウドッキングウィンドウ・コン三銃士
ドッキングウィンドウコンテナオーケストレーションツール:管理複数のコンテナの相互依存関係を解決する必要があります。
[root@docker01 ~]# docker-compose -v
//验证已有docker-compose命令
ドッキングウィンドウ-COMPOSEプロファイルの例
ドッカー-compose.ymlプロファイルを識別することによって、容器を管理します。
スペースの数]タブを設定します
[root@docker01 ~]# vim .vimrc
set tabstop=2
//设置tab键的空格数量
[root@docker01 ~]# source .vimrc
//刷新一下
ドッキングウィンドウ-compose.ymlテストファイルを作成します。
[root@docker01 ~]# mkdir compose_test
//创建测试目录
[root@docker01 ~]# cd compose_test/
[root@docker01 compose_test]# vim docker-compose.yml
//创建测试文件docker-compose.yml
version: "3"
services:
nginx:
container_name: web-nginx
image: nginx
restart: always
ports:
- 90:80
volumes:
- ./webserver:/usr/share/nginx/html
ドッキングウィンドウ-compose.ymlファイルを説明します
最初の部分:バージョン:指定されたバージョンの構文。
第二部:サービス:サービスの定義、(あなたが実行したいコンテナの種類)
容器のドッカー-compose.ymlファイル[動作]()によって
[root@docker01 compose_test]# docker-compose up -d
//后台运行docker-compose规定的容器。(在执行这条命令的当前目录下,也需要一个docker-compose.yml的配置文件,并且通常只有一个。)
[root@docker01 compose_test]# docker ps
//查看容器信息
[root@docker01 compose_test]# curl 127.0.0.1:90
//访问nginx会失败,因为挂载目录没有页面内容
[root@docker01 compose_test]# vim webserver/index.html
//创建测试网页
xgp666
[root@docker01 compose_test]# curl 127.0.0.1:90
//再次访问,是成功的
xgp666
容器のドッカー-compose.ymlファイル[停止]()によって
[root@docker01 compose_test]# docker-compose stop
容器のドッカー-compose.ymlファイル[再起動]()によって
[root@docker01 compose_test]# docker-compose restart
ないドッキングウィンドウ-compose.ymlファイルディレクトリ、[-f]()指定されたディレクトリを使用します
[root@docker01 ~]# docker-compose -f compose_test/docker-compose.yml stop
そして、操作コンテナ(ドッカ-compose.yml)の間に、Dockerfileをサポートしています
[root@docker01 compose_test]# vim Dockerfile
//编写dockerfile
FROM nginx
ADD webserver /usr/share/nginx/html
[root@docker01 compose_test]# vim docker-compose.yml
//修改docker-compose.yml文件
version: "3"
services:
nginx:
build: . #添加
container_name: web-nginx
image: new-nginx:v1.0 #修改镜像名称
restart: always
ports:
- 90:80
ドッカー-compose.ymlファイル[停止と削除])(コンテナによって
[root@docker01 compose_test]# docker-compose stop
Stopping web-nginx ... done
[root@docker01 compose_test]# docker-compose rm
容器のドッカー-compose.ymlファイル[動作]()によって
[root@docker01 compose_test]# docker-compose up -d
//通过docker-compose.yml文件[运行]()容器
[root@docker01 compose_test]# docker ps
//查看容器信息
nginxのアクセステストページ
[root@docker01 compose_test]# curl 127.0.0.1:90
//测试访问nginx页面,成功
xgp666
第六に、ワードプレスのブログを構築
ダウンロードして、ワードプレスのmysql:5.7コンテナ
[root@docker01 ~]# docker pull wordpress
//下载wordpress容器
[root@docker01 ~]# docker pull mysql:5.7
//下载mysql:5.7容器
ドッキングウィンドウ-ccompose.ymlを書きます
[root@docker01 ~]# mkdir wordpress
//创建wordpress测试文件
[root@docker01 ~]# cd wordpress/
[root@docker01 wordpress]# vim docker-compose.yml
//编写docker-compose.yml
version: "3.1"
services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: 123.com
WORDPRESS_DB_NAME: wordpress
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: 123.com
MYSQL_ROOT_PASSWORD: 123.com
容器のドッカー-compose.ymlファイル[動作]()によって
[root@docker01 wordpress]# docker-compose up -d
[root@docker01 wordpress]# docker ps
//查看容器信息
[root@docker01 wordpress]# docker logs 容器名称
//查看容器日志
それにアクセスするためのブラウザ http://192.168.1.11:8080/
言語を選択
ワードプレスをインストールします。
Wordpressのログイン
成功した着陸した後、それを設定することができます
トラブルシューティング
ホスト名の変更かどうかをまずチェック
ファイアウォールとSELinuxをオフにする
コマンドをインストールする権限付与されドッキングウィンドウは、作曲
ドッキングウィンドウを-があるかどうかをcompose.yml書かれた質問
コンテナの実行は正常です
(ブラウザはアクセスできない場合は、ルートの転送を追加することができます)
その他の最適化のヒントワードプレス
上記の手順の後、および基本的なワードプレスのいくつかのもが完了し、必要な設定を構築するために、そして残りは、より個人的な選択の一人一人が異なる必要とするかもしれないということで、以下の点wordpressの最適化の提言を言います
1.かどうかは、BaiduのSEOを行っている、SEOのプラグインをインストールし、記事のTDKを設定したくない場合でも、サイトのホームページについて設定する必要が少なくとも存在し、それは一つのSEOパックのすべてに推奨される
いかなる2.定期的なバックアップ、言うことは、バックアップの重要性は言うまでもないが、 Diuguoの人々は、データのバックアップの習慣を開発する、WordPressのウェブサイトのバックアップ方法は、
セキュリティプラグインをインストール3. WordPressのセキュリティー・プラグインを推奨、
4.更新サイトのテーマやプラグインを、WordPressのプラグインを自動的に更新する方法は
、すべての役に立たないトピックを削除5.そして、プラグイン、ワードプレスのテーマdeleteメソッド
6.スパムフィルタリング、ワードプレスプラグインAkismetがスパム対策の設定します
ワードプレスは、それらの様々な部位に応じて設定される、サイトがテーマの異なるタイプを使用し、プラグインが非常に異なっている単語の後ろに、主基地局です。しかし、あなたはコンテンツBenpianに学ぶことができた場合は、今日、私はあなたのサイトは、サイトのほとんどを超えたことを信じて、ここで良いのチュートリアルを説明しご質問やその他のより良い提案があればメッセージを議論するために歓迎されています