dockerでやってみたWordPress
dockerでWordPressを試してみた。
以下を参照させていただいた。
初めてのDocker~公式イメージで簡単にWordPressサイトを作る方法
以下実行結果
まずはDockerのインストールから。ここでは以下を参照させていただいた。
Install Docker on CentOS 7
# yum install -y yum-utils device-mapper-persistent-data lvm2
中略
完了しました!
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
読み込んだプラグイン:fastestmirror, langpacks
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
# yum install -y docker-ce docker-ce-cli containerd.io
中略
完了しました!
# systemctl start docker
# docker --version
Docker version 19.03.5, build 633a0ea
#
Dockerのインストール完了。次にWordpressとmysqlのPull。
# docker pull docker.io/wordpress
Using default tag: latest
latest: Pulling from library/wordpress
中略
Status: Downloaded newer image for wordpress:latest
docker.io/library/wordpress:latest
#
# docker pull docker.io/mysql
Using default tag: latest
latest: Pulling from library/mysql
中略
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
#
mysqlとWordPressのRun。
# sudo docker run --name mysite_db -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=mysite -d mysql
cdbb6dcc1293f16aaf8fa455972e9669e90613fbd1265c7cd0ef9273580f9c8
# sudo docker run --name mysite --link mysite_db:mysql -p 80:80 -e WORDPRESS_DB_PASSWORD=password -d wordpress
e547ad16ef7140380431aaeb14b47023dbfae3efb00d75d9120c0748102335ea
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e547ad16ef71 wordpress "docker-entrypoint.s…" 24 seconds ago Up 23 seconds 0.0.0.0:80->80/tcp mysite
cdbb6dcc1293 mysql "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 3306/tcp, 33060/tcp mysite_db
しかしながら、WordPressはDatabaseにConnectionできないとな、、、、
想定される原因は以下だと言っている:
- Are you sure you have the correct username and password?
- Are you sure you have typed the correct hostname?
- Are you sure the database server is running?
そもそも、WordPressコンテナからMysqlコンテナにどうやって接続するのだろう。
今一度runsの際のパラメータを見てみる。
sudo docker run --name mysite_db -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=mysite -d mysql
mysqlに設定されるパラメータはrootのパスワードとデータベース名
sudo docker run --name mysite --link mysite_db:mysql -p 80:80 -e WORDPRESS_DB_PASSWORD=password -d wordpress
WordPressに設定されるのは--linkオプションのみ。
wordpress上のbashで環境変数を確認すると以下の通り。
root@e547ad16ef71:/var/www/html# env
MYSQL_PORT_33060_TCP_ADDR=172.17.0.2
MYSQL_PORT=tcp://172.17.0.2:3306
MYSQL_PORT_3306_TCP_ADDR=172.17.0.2
MYSQL_NAME=/mysite/mysql
MYSQL_ENV_MYSQL_ROOT_PASSWORD=password
MYSQL_PORT_3306_TCP_PORT=3306
HOSTNAME=e547ad16ef71
PHP_VERSION=7.3.13
APACHE_CONFDIR=/etc/apache2
PHP_MD5=
PHP_INI_DIR=/usr/local/etc/php
WORDPRESS_VERSION=5.3.2
GPG_KEYS=CBAF69F173A0FEA4B537F470D66C9593118BCCB6 F38252826ACD957EF380D39F2F7956BC5DA04B5D
MYSQL_ENV_MYSQL_MAJOR=8.0
PHP_LDFLAGS=-Wl,-O1 -Wl,--hash-style=both -pie
MYSQL_PORT_3306_TCP=tcp://172.17.0.2:3306
PWD=/var/www/html
HOME=/root
MYSQL_ENV_GOSU_VERSION=1.7
MYSQL_PORT_33060_TCP_PROTO=tcp
WORDPRESS_SHA1=fded476f112dbab14e3b5acddd2bcfa550e7b01b
PHP_SHA256=57ac55fe442d2da650abeb9e6fa161bd3a98ba6528c029f076f8bba43dd5c228
PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
TERM=xterm
PHP_URL=https://www.php.net/get/php-7.3.13.tar.xz/from/this/mirror
MYSQL_PORT_33060_TCP_PORT=33060
PHP_EXTRA_CONFIGURE_ARGS=--with-apxs2 --disable-cgi
MYSQL_PORT_3306_TCP_PROTO=tcp
SHLVL=1
PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
MYSQL_PORT_33060_TCP=tcp://172.17.0.2:33060
WORDPRESS_DB_PASSWORD=password
APACHE_ENVVARS=/etc/apache2/envvars
MYSQL_ENV_MYSQL_DATABASE=mysite
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PHP_EXTRA_BUILD_DEPS=apache2-dev
PHP_ASC_URL=https://www.php.net/get/php-7.3.13.tar.xz.asc/from/this/mirror
PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
MYSQL_ENV_MYSQL_VERSION=8.0.18-1debian9
_=/usr/bin/env
root@e547ad16ef71:/var/www/html#
/etc/hostsを確認すると以下の通り。mysqlは172.17.0.2でホストマッピングされている。
root@e547ad16ef71:/var/www/html# env | grep mysql
MYSQL_NAME=/mysite/mysql
root@e547ad16ef71:/var/www/html# cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 mysql cdbb6dcc1293 mysite_db
172.17.0.3 e547ad16ef71
root@e547ad16ef71:/var/www/html#
ポート番号等はデフォルトの値が入っている。mysqlに到達できないのか?と思ってping実行を試みるもそんなん知らんと言われた。最小構成ではpingも省かれるみたい。代わりにcurlを使ってみる。
root@e547ad16ef71:/var/www/html# curl mysql
curl: (7) Failed to connect to mysql port 80: Connection refused
どうやら到達はしているみたい。
次にwp-config.phpを覗いてみる。
root@e547ad16ef71:/var/www/html# cat wp-config.php
<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the
* installation. You don't have to use the web site, you can
* copy this file to "wp-config.php" and fill in the values.
*
* This file contains the following configurations:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://codex.wordpress.org/Editing_wp-config.php
*
* @package WordPress
*/
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'mysite');
/** MySQL database username */
define( 'DB_USER', 'root');
/** MySQL database password */
define( 'DB_PASSWORD', 'password');
/** MySQL hostname */
define( 'DB_HOST', 'mysql');
/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '');
/**#@+
中略
root@e547ad16ef71:/var/www/html#
なんだか良い感じ。
困ったなぁ、、、、
« podmanの実験(その1) | トップページ | MacとWindowsとCentOSのファイル共有ー備忘録 »
「ソフトウエア導入」カテゴリの記事
- Windows10の起動不良対応の備忘録(2025.02.20)
- Chrome Remote DesktopでクライアントPCにて右シフトキーが使えない件(2024.12.30)
- 非Windows11対応PCをWindows11にアップグレードする方法(2023.03.21)
- ThonnyでPicoのVersion upで SSL: CERTIFICATE_VERIFY_FAILED, certificate has expired にハマった件(2022.11.23)
- UI-VIEW32のオリジナルマップの作製(2022.11.22)
「ツールの使い方」カテゴリの記事
- Windows10の起動不良対応の備忘録(2025.02.20)
- WIRES-Xのルームでの写真ファイルの取扱い(2025.02.05)
- Chrome Remote DesktopでクライアントPCにて右シフトキーが使えない件(2024.12.30)
- WIRES-Xで入力デバイスが設定出来ない件(2024.12.22)
- NTT ONU+ホームゲートウエイの初期化(2024.08.19)
コメント