SSLが正しく機能するためには、WordPressのインストールを独自のサーバーに移行する必要がありました。オリジナルは、外部SSL証明書のインストールを許可しないGoDaddy共有ホスティングでホストされています。
少し妄想があり、セキュリティについて知っていたので、Dockerコンテナ内でサービスを実行して最悪のダメージを制限したかったのです。
Dockerコンテナを接続する方法がわかりません。たとえば、MySQL / MariaDBを実行しているDockerコンテナがありますが、WordPress PHPコードをホストして実行するFastCGIを実行している他のDockerコンテナとそのサービスを共有する方法がわかりません。
私のWebサーバー(NGINX)は現在Dockerコンテナの外部で実行されており、Dockerコンテナの公開ポートに物事をプロキシすることに問題はありません。しかし、FastCGIサーバー(つまりPHP)はMySQLコンテナにどのようにアクセスできますか?
Dockerで複数の独立サービスをペアリングする方法を詳しく説明するガイドはありますか?
答え1
Dockerコンテナがどのように機能するかは、特に設定がない限り、デフォルトで隔離されていることです。
質問に答えるには、必要なポートを開いてそのポートを介してコンテナを接続すると、指定したポートを介してのみ通信できます。
Dockerfileに指定されている場合、このコマンドは「EXPOSE」と呼ばれます。http://docs.docker.io/reference/builder/#expose
EXPOSE 41000
コンテナの起動時にコンテナの起動時に公開したいポートを転送することもできます(元のDockerfileで指定されたポートをオーバーライドします)。
sudo docker run -p 41000:41000 -d <your username>/<your image name>
-p, --publish=[] コンテナのポートを次の形式でホストに公開します。 ip:hostPort:containerPort | ip::container port | hostPort:containerPort(実際のマッピングを表示するには「docker port」を使用)
リンクもご覧ください。http://docs.docker.io/use/working_with_links_names/#working-with-links-names
WordPressとDockerに関する追加情報:
答え2
Dockerは実際に仮想化を実行せず、LXCコンテナ仮想化を使用して画像を処理して実行するためのツールです。私は実際にここでLXCとその機能を探していると思います。 LXCは仮想ネットワーキングを行うことができ、MySQLはネットワーク経由で接続できる。必要な唯一のことは、ビルディングブロックを互いに接続することです。
一般的な設定では、各ホストには一意のIPアドレスと一連のポートがあり、各ホストは仮想ネットワークを介して他のホストのTCP / IPサービスにアクセスできます。セキュリティはLinuxカーネルによって処理されます。セキュリティを処理する1つの方法は、古いiptablesベースのファイアウォールを使用することです。ただし、selinuxタグに基づいて他の方法がある可能性があります。