環境
インストール Docker依存関係をインストールする $ sudo yum install -y yum-utils デバイスマッパー永続データ lvm2 docker-ceをインストールする $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo $ sudo yum インストール docker-ce $ sudo systemctl dockerを起動します $ docker --version $ sudo docker run hello-world docker-composeをインストールする $ sudo curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose $ sudo chmod +x /usr/bin/docker-compose $ docker-compose --version docker-compose.ymlを書く $ mkdir ./blog $ cd ブログ $ sudo vim docker-compose.yml バージョン: '3' サービス: デシベル: イメージ:mysql:5.7 ボリューム: #データボリューム、マッピングローカルフォルダ - db_data:/var/lib/mysql ports: # ポートマッピングを記述しないと、外部から mysql に接続できません (以下の WordPress 接続は問題ありません) - 「3306:3306」 再起動: 常に 環境: MYSQL_ROOT_パスワード: xxx MYSQL_DATABASE: ワードプレス MYSQL_USER: ワードプレス MYSQL_パスワード: wordpress ワードプレス: depends_on: #上記の db サービスに依存 -db 画像: wordpress:最新 ボリューム: - wp_site:/var/www/html ポート: - 「8000:80」 再起動: 常に 特権: true 環境: # 上記のサービス名 + ポートを直接使用してリンクを取得できます WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: ワードプレス WORDPRESS_DB_PASSWORD: ワードプレス # ドメイン名を定義します WORDPRESS_CONFIG_EXTRA: "define('WP_HOME','https://blog.amoyiki.com'); define('WP_SITEURL','https://blog.amoyiki.com');" ボリューム: db_データ: wp_サイト: コンテナの実行 # 開始 $ sudo docker-compose up -d # シャットダウン$ sudo docker-compose down これで、http://ip:port を使用してアクセスできるようになります。アクセスできない場合は、コンテナ ログをチェックしてエラーを見つけることができます。 $ sudo docker-compose ps 名前 コマンド 状態 ポート blog_db_1 docker-entrypoint.sh mysqld 0.0.0.0:3306->3306/tcp、33060/tcp が起動しました blog_wordpress_1 docker-entrypoint.sh apach ... 0.0.0.0:8000->80/tcp を起動 # 最後の WordPress はサービス名です。これは Docker でログを表示するために使用するコンテナ名とは異なります。$ sudo docker-compose logs -f --tail=10 wordpress $ sudo docker-compose ログ -f --tail=10 db ホストNginxを使用してdocker wordpressをリバースする nginxの設定ファイルは以下のとおりです(関係ない内容は省略) user root; # これは、docker コンテナ内の WordPress ファイル ユーザーが www-data であるためです。 サーバー{ 聞く 80; サーバー名 *.amoyiki.com; 301 https://$host$request_uri を返します。 } アップストリーム wordpress-workhorse { サーバー 127.0.0.1:8000 fail_timeout=10s; } サーバー{ サーバー名 blog.amoyiki.com; 443 ssl を聴く; sslオン; ssl_certificate /ssl/path/fullchain.pem; ssl_certificate_key /ssl/path/privkey.pem; access_log /var/log/nginx/access.log メイン; # ホストルート内の WordPress データボリュームの場所 /var/lib/docker/volumes/blog_wp_site/_data; 位置 / { proxy_pass http://wordpress-workhorse; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } 場所 ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { 有効期限は7日です。 access_log オフ; } エラーページ 500 502 503 504 /50x.html; 場所 = /50x.html { ルートhtml; } } エラー収集 nginx エラー 権限が拒否されました
以前は、nginx.conf ユーザーはデフォルトの nobody を使用していましたが、docker の wp 内の www-data のユーザー グループ データを読み取ることができませんでした。そのため、nginx ユーザーを直接 root に昇格しました。これは後で最適化できます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: mysql 5.7.11 winx64 初期パスワード変更
バックグラウンド コントローラー @RequestMapping("/getPDFStre...
mysql-5.7.9 では、ついにシャットダウン構文が提供されます。以前は、MySQL データベー...
この記事では、古典的なスネークゲームを実装するためのJavaScriptの具体的なコードを参考までに...
MySQL のトランザクションはデフォルトで自動的にコミットされます (autocommit = 1...
この記事では、価格カレンダー効果を実現するためのVueの具体的なコードを例として紹介します。具体的な...
JavaScriptで非同期実行の結果を同期的に取得するには、 for ループ内でawaitを使用...
MySQL の追加、削除、変更、クエリステートメント1. 練習シートを作成するここでの練習表は3つの...
1. VMwareのダウンロードとインストールリンク: https://www.jb51.net/s...
目次1. psutilパッケージをインストールする次に、オペレーティングシステム内のすべてのサービス...
この記事では、シンプルな画像カルーセル効果を実現するためのJSの具体的なコードを参考までに紹介します...
システム環境はserver2012です1. MySQLの解凍バージョンをダウンロードし、インストール...
この記事では、MySQL 8.0.24のインストールチュートリアルを参考までに紹介します。具体的な内...
目次序文脱構築記号の役割使い方分割割り当ての適用アプリケーションの簡単な紹介JSONデータを抽出する...
.NET の世界に参入したい開発者であれば、何が可能なのかを知る必要があります。 .NET Fram...
この記事の例では、ショッピングカートのロジックと機能を実装するためのjsの具体的なコードを共有してい...