環境
インストール 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 初期パスワード変更
目次1. データベースを理解する1.1 データベースとデータ構造の関係1.2 なぜデータベースが必要...
目次ナンセンス実装された機能文章要点ナンセンスデモプレビュー実装された機能デフォルトでホームページが...
1. MySQL で現在の時刻を表現するにはどうすればよいでしょうか?実際、表現方法はいろいろありま...
Elasticsearch 6.8 以降、無料ユーザーは X-Pack のセキュリティ機能を使用でき...
MySQL には、主に left()、right()、substring()、substring_i...
環境: 1. CentOS6.5 X64 2.mysql-5.6.34-linux-glibc2.5...
導入データベースに接続するためにJDBCを使用することに慣れている場合は、データベースに接続するため...
目次概要コンソールログコンソール.infoコンソール.警告コンソールエラーコンソールテーブルコンソー...
MySQL レプリケーションには、SQL ステートメント ベースのレプリケーション (SBR)、行ベ...
Dockerの概要Docker はオープンソースのソフトウェア展開ソリューションです。 Docker...
パスワード入力後にMySQLデータベースがクラッシュする問題と解決策1 ケースの説明最近、基本的な機...
ファイル サーバーは、企業内で最も一般的に使用されるサーバーの一つであり、主にファイル共有を提供する...
1. 背景Netplan は、Ubuntu システムのネットワーク設定を簡単に管理および構成できるよ...
美しいコードは美しい Web サイトの基礎です。優れた CSS は、同様に優れた HTML の上にの...
序文MySQL に関する私の理解に基づくと、パフォーマンスの最適化作業やマスター スレーブ レプリケ...