環境
インストール 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 初期パスワード変更
チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...
知識ポイント1: ヘッダー情報にWebページのベースURLを設定するベース URL の本質は、ハイパ...
数日前、バスで仕事に行きました。バスのカードリーダーの実際の使用シーンを実際に見て、カードリーダーの...
1. 表示効果: 2、HTML構造 <div class="プロセスリスト-lpu...
目次1. ファイル拡張子を取得する2. コンテンツをクリップボードにコピーする3. スリープ時間は何...
一般的なアプリケーションシナリオ現在のアプリのインターフェースは基本的に同じであり、グリッドレイアウ...
新しいプロジェクトは基本的に終了しました。フロントエンドとバックエンドを分離して統合を完了したのは初...
ここでは、あまり使われていない、または誤解されている 10 個の HTML タグを紹介します。あまり...
1. 計算プロパティとリスナー1.1 計算プロパティ <!DOCTYPE html> &...
序文この記事は主に、MYSQL でランキングを実現し、指定ユーザーランキング関数 (並列ランキング関...
1. はじめにMYSQL の MDL ロックは常に頭痛の種でした。ロックについて話すとき、通常は I...
1. キャッシュ - クエリキャッシュ次の図は、MySQL 公式サイトから提供されています: MyS...
MySQL 5.7.x の最新バージョンをダウンロードしてインストールしました。デフォルトでは、on...
背景すべての会社の Web サイトは HTTPS プロトコルをサポートする必要があります。Aliba...
この質問は、MySQL の権限に関する WeChat グループのネットユーザー間の議論です。次のよう...