2

次のスタックを使用して、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. これを達成する方法を知っている人はいますか?

4

1 に答える 1

0

解決:

  1. コンテナーにログインします。

    docker exec -it "name_of_container" bash

  2. 次の行を wp-config.php に追加します

    define('WP_HOME', 'http://your_domain.com');

    define('WP_SITEURL', 'http://your_domain.com');

于 2016-06-07T11:01:27.517 に答える