いつもはvccwで開発環境を作っているが、
今回はDockerでやってみる。
Dockerは昨日触り始めたばかりで、理解が追いついていないので、
やったことのメモのみ。。。
とりあえずやってみる
インストール
左側のStableをクリックするとDockerインストーラーが落ちてくる。
かわいいクジラをドラッグ
起動してみた
「開く」をクリック
ニコニコしてるので「Next」
PCのパスワードを聞かれる
入力したら、これが出てきた
インストールされたか確認
$ docker version
と打ってみる。
Client:
Version: 17.12.0-ce
API version: 1.35
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:03:51 2017
OS/Arch: darwin/amd64
Server:
Engine:
Version: 17.12.0-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:12:29 2017
OS/Arch: linux/amd64
Experimental: true
インストールできたっぽい。
Docker(For Mac)のマニュアルは基本はこれの模様。
https://docs.docker.com/docker-for-mac/
WordPressを作ってみる
参考:
https://hub.docker.com/_/wordpress/
イメージを落としてくる
$ docker pull wordpress
以下が表示され、最新版をインストールしてくれた。
[上は省略]
Status: Downloaded newer image for wordpress:latest
参考ページの「How to use this image」のところをもとに、下記をたたいてみる。
$docker run --name some-wordpress --link some-mysql:mysql -d wordpress
MySQLがないよとエラー。
docker: Error response from daemon: could not get container for some-mysql: No such container: some-mysql.
See 'docker run --help'.
MySQLのイメージを落としてくる
下記2記事を参考にさせていただきました!
$docker pull mysql
インストールできた。
[上は省略]
Status: Downloaded newer image for mysql:latest
MySQL立ち上げる
$docker run --name mysql -e MYSQL_ROOT_PASSWORD=mysql -d -p 3306:3306 mysql
以下をたたいて見たものの、動かずここからどうしたらいいか分からない。
docker run --name wordpress --link mysql:mysql -d wordpress
$ docker run --name some-wordpress --link some-mysql:mysql -p 8080:80 -d wordpress
Then, access it via http://localhost:8080 or http://host-ip:8080 in a browser.
と書いてあったので、
一回止める。
$docker stop wordpress
Wordpressがないのを確認
$docker ps
もう一度たたいてみる
$docker run --name wordpress --link mysql:mysql -p 8080:80 -d wordpress
怒られる。
docker: Error response from daemon: Conflict. The container name "/wordpress" is already in use by container "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx". You have to remove (or rename) that container to be able to reuse that name.
名前変えて、もう一度
docker run --name test_wordpress --link mysql:mysql -p 8080:80 -d wordpress
できた!!!
http://localhost:8080/
普通にWordPressの画面上からインストールがサクッとできた。(全然待ってない)
だが、WordPressのテーマ編集ができない。。。
comporseで開発環境を作ってみる
これみながらやる。
https://docs.docker.com/compose/wordpress/
comporseをインストール
しようと思ったが、
https://docs.docker.com/compose/install/#install-compose
comporseは「Docker For Mac」にはすでに入っているらしい
プロジェクト用の新規ディレクトリ作る
新規ディレクトリの中に「docker-compose.yml」を作成
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./www:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
※「wordpress:」の入れ子に、下記の「volumes」を入れると、WordPressのファイルが触れるようになる。
以下はwwwのフォルダが出来上がって、その中に生成される。
volumes:
- ./www:/var/www/html
ターミナルで、作ったディレクトりに移動し、以下を入力
$docker-compose up -d
これで、http://localhost:8000/
をブラウザで開けば、WordPressのインストール画面に!
止めるときは、ターミナルで以下を入力
$docker-compose down
以上
今後は、初期設定とかもろもろインストールが終わった状態の
開発環境を一発で作れるようにしたい。