MacにDockerいれてMediawikiいれたときのメモ
ひっさしぶりにブログ見てみたら300億円くらい当たっててびっくりしました。当たってません。
以下、いつも使ってるMacにDockerを導入してからブラウザでMediawikiを開くまでの、ただのメモです。
Dockerインストール
https://docs.docker.com/engine/installation/mac/docs.docker.com
これ見ると良いと思う。
Docker Toolbox
Docker Toolboxをダウンロードしていんすこ。
このDocker ToolboxにはBoot2Dockerのイメージとか、それを動かすためのVirtual Boxとか、Dockerのクライアントとかが入っています。つよいですね。
Docker Quickstart
アプリケーションフォルダ(という呼び方で正しいんですかね…?)かLaunchPadのDocker Quickstart Terminalを実行します。
Docker Quickstart Terminalくんは下記のことをやってくれます。
Docker Quickstart Terminalで設定された内容は下記の通り確認できます。
ponkan% docker-machine env export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.xxx.xxx:2376" export DOCKER_CERT_PATH="/Users/xxx/.docker/machine/machines/default" export DOCKER_MACHINE_NAME="default" # Run this command to configure your shell: # eval $(docker-machine env)
.zshrcに上記設定が書き込まれるはずなんですが、僕の環境では書き込まれていませんでした。そのため、Dockerでコマンドを実行しようとすると、Docker Daemonが見つからないと怒られてしまいました。
ponkan% docker ps
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
そんなときは、とりあえず下記の通りやれば良いかと思います。
ponkan% docker-machine env >> ~/.zshrc ponkan% source ~/.zshrc
Hello World
ponkan% docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world ... Hello from Docker. This message shows that your installation appears to be working correctly. ...
はい、お疲れ様でした。
MariaDB
MariaDBの公式のコンテナを導入します。
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=*** -e MYSQL_USER=user -e MYSQL_PASSWORD=*** -e MYSQL_DATABASE=db_name --name=mariadb_container_name mariadb
はいおわり。
ponkan% docker run -d -p 3306:3306 \ > -e MYSQL_ROOT_PASSWORD=xxx \ > -e MYSQL_USER=yumi \ > -e MYSQL_PASSWORD=xxx \ > -e MYSQL_DATABASE=wiki_db \ > --name=chinensis mariadb Unable to find image 'mariadb:latest' locally latest: Pulling from library/mariadb ... Status: Downloaded newer image for mariadb:latest 35c970add5052f64a3477bd602e0b32596c1bf1554b0840af1be31fb84a5fb63 ponkan% docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 35c970add505 mariadb "/docker-entrypoint.s" 22 seconds ago Up 21 seconds 0.0.0.0:3306->3306/tcp chinensis
Macに入れているMySQLクライアントから接続してみます。
ponkan% mysql -h `docker-machine ip` -p -u yumi Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 4 Server version: 10.1.12-MariaDB-1~jessie mariadb.org binary distribution Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | wiki_db | +--------------------+ 2 rows in set (0.00 sec) MariaDB [(none)]> exit Bye
Mediawiki
synctree/mediawikiを導入します。
docker run -d -p 80:80 --name=mediawiki_container_name --link mariadb_container_name:mysql synctree/mediawiki
これだけやね。
ponkan% docker run -d -p 80:80 --name=gigantea \ > --link chinensis:mysql synctree/mediawiki Unable to find image 'synctree/mediawiki:latest' locally latest: Pulling from synctree/mediawiki ... 54c7e4b0b72bfa1b6e5905f4a47c6a3f78d0a7db49c08671cc8c75e24f95ac3b
docker-machine ipで表示されたIPアドレスをブラウザで開いてなんやかんや設定した後、Mediawikiの設定ファイル(LocalSettings.php)をダウンロードします。これをコンテナに入れてあげれば設定完了です。
ponkan% docker cp ~/Downloads/LocalSettings.php gigantea:/var/www/html/LocalSettings.php
で、MediaWikiのプラグインをいろいろいじったりしたいんですけど、プラグインのディレクトリをマウントしてうんやかんやすればいいんですかね? dockerよくわかってないの。