次のスタックを使用して、docker で簡単な環境をセットアップしています。
- ロードバランスとしてのnginx
- ワードプレスのインスタンス
- mysql
私の単純なドッカー構成ファイルは次のとおりです。
nginx:
build: ../nginx
links:
- wordpress:wordpress
ports:
- "80:80"
- "443:443"
wordpress:
image: wordpress
ports:
- "8082:80"
links:
- mysqlwp:mysql
working_dir: /var/www/html
#volumes:
# - wp-content/:/var/www/html/wp-content
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
mysqlwp:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
nginx は基本イメージから構築され、構成は次のとおりです。
upstream wploadbalance{
least_conn;
server wordpress;
}
server {
listen 80;
server_name my.site.com;
location / {
proxy_pass http://wploadbalance;
}
}
my.site.com に接続すると、wordpress インスタンスに正しくリダイレクトされますが、http://wploadbalance
アクセスできない静的ファイルが読み込まれます。
たとえば、私のブラウザ コンソールには次のようなものが表示されます。
ネットをGET
http://wploadbalance/wp-includes/js/wp-util.min.js?ver=4.4
::ERR_NAME_NOT_RESOLVED
dockerwploadbalance
コンテナの外部からはアクセスできないため、何らかの方法で、静的ファイルがmy.site.com
. これを達成する方法を知っている人はいますか?