dockerでwordpressサイトを開発してみよう
TRANSCRIPT
-
DockerWordPress @mookjp
-
@mookjp https://github.com/mookjp OL
-
1.Docker 2.3WordPress 3.WordPress
4.Docker
5.
-
1. Docker
-
Docker
Mac
Ubuntu
Apache Unicorn
CentOS
MySQL
-
Apache Unicorn
LinuxOS
MySQL
Linux OS
Apache Unicorn
Linux OS
MySQL
VMWare
Docker
Docker engine
OS
-
Apache Unicorn
LinuxOS
MySQL
Linux OS
Apache Unicorn
Linux OS
MySQL
VMWare
Docker
Docker engine
OS OS
OS Docker engine
Dockerle
-
Docker
Dockerle
Docker Dockerle
Docker Docker
-
Docker
Apache Unicorn
Docker (Docker
Apache Unicorn
Dockerle
Dockerle Docker
Ubuntu
CentOS
A
B
A
Docker
Dockerle Docker
Docker
Docker Hub
pull / push
-
Docker
Dockerle
! 2
Dockerle1OK Docker Hub Registry
-
2. 3WordPress
-
WordPress
-
Docker
Docker Dockerle
-
Docker
boot2docker Docker
LinuxVM
Git
-
boot2docker
exportboot2docker upOK
$ boot2docker init
$ boot2docker up
$ export DOCKER_HOST=tcp://192.168.59.103:2376
$ export DOCKER_CERT_PATH=~/.boot2docker/certs/boot2docker-vm
$ export DOCKER_TLS_VERIFY=1
$ docker -v
Docker version 1.4.1, build 5bc2ff8
-
WordPress
$ docker pull tutum/wordpress
-
!!!! https://prevs.io/ DockerleGit
http://master.yourapp.username.prevs.io/ http://ea32b41.yourapp.username.prevs.io/
-
WordPress3
boot2docker ipIP
WordPress
$ docker run -d -p 80:80 --name=wordpress tutum/wordpress
e65f0c76a61ad3a99bd50f856f638debb4fd9761efc0beea2847b47ef101a576
$ boot2docker ip
192.168.59.103
-
run -d
-p: --name=
$ docker run -d -p 80:80 --name=wordpress tutum/wordpress
-
Docker3!!
docker pull tutum/wordpress
docker run -d -p 80:80 --name=wordpress tutum/wordpress
http://192.168.59.103/
-
Docker3!!
docker pull tutum/wordpress
docker run -d -p 80:80 --name=wordpress tutum/wordpress
http://192.168.59.103/
!!
-
Dockerle
DockerDockerle
Dockerle
tutum/wordpressDockerle https://registry.hub.docker.com/u/tutum/wordpress/dockerle/
-
tutum/wordpress Dockerle
Wordpress
DB
Apache/MySQL
-
ApacheMySQL
FROMDockerDocker FROMDockerle
tutum/lampApacheMySQL https://registry.hub.docker.com/u/tutum/lamp/dockerle/
tutum/lamp tutum/wordpress tutum/wordpress
-
Dockerle
https://registry.hub.docker.com/u/tutum/wordpress/dockerle/
ADD
Docker RUN
EXPOSE
Docker CMD
Docker
-
3. WordPress
-
!!
Docker!!
-
ADD
WordPresswp-cong.phpMySQLwordpress
DockerleADD
DockerleADD
Docker
-
tutum/wordpress
https://github.com/mookjp/tutum-docker-wordpress GitDownload ZIP
-
-v: /data-share
$ cd tutum-docker-wordpress$ docker rm -f wordpress$ docker run -d -p 80:80 -v $(pwd):/data-share --name=wordpress tutum/wordpress$ docker exec -it wordpress /bin/bashroot@f060d2205670:/# ls
-
$ mysqldump -u root wordpress > /data-share/mysql.dump.sql
$ exit
http://192.168.59.103/
mysqldump
mysql.dump.sql
-
create_db.sh
while [[ RET -ne 0 ]]; do
sleep 5
mysql -uroot -e "CREATE DATABASE $1"
mysql -uroot $1 < /mysql.dump.sql
RET=$?
done
tutum/wordpresscreate_db.shDB
DB
-
Dockerle
ADD create_mysql_admin_user.sh /create_mysql_admin_user.sh
ADD mysql.dump.sql /mysql.dump.sql
ADD create_db.sh /create_db.sh
tutum/wordpresscreate_db.shDB
DB
-
tutum/wordpress
$ docker build -t my-wordpress .Sending build context to Docker daemon 715.3 kBSending build context to Docker daemonStep 0 : FROM tutum/lamp:latest ---> b84edafb1623Step 1 : MAINTAINER Fernando Mayo , Feng Honglin ---> Using cache ---> 3f8b39c08696
-
http://192.168.59.103/
WordPress
$ docker rm -f wordpress # $ docker run -d -p 80:80 --name=my-wordpress my-wordpresse43f1c76a61ad3a99bd50f856f638debb4fd9761efc0beea2847b47ef101a576
-
4. Docker
-
Dockerle
wp-contentwp-cong.phpMySQLDockerleGit
docker run
-
Docker
1. -v 2. WordPressmysqldump
3. http://192.168.59.103/ wp-content/themes/xxxstyle.css
4. 1. docker
builddocker runOK
-
my-wordpresswp-content
$ docker run -it -v $(pwd):/data-share my-wordpress /bin/bash
root@ff489d751af9:/# cp -r /app/wp-content/ /data-share/
-
Dockerle
wp-contentADDDockerle
build
# Download latest version of Wordpress into /app
RUN rm -fr /app && git clone --depth=1 https://github.com/WordPress/WordPress.git /app
ADD wp-content /app/wp-content
---
$ docker build -t my-wordpress
-
wp-content/ wp-cong.php mysql.dump.sql
$ docker rm -f my-wordpress # run$ docker run -d -p 80:80 --name=my-wordpress \
-v $(pwd)/wp-content:/app/wp-content \
-v $(pwd)/wp-config.php:/app/wp-config.php
-v $(pwd)/mysql.dump.sql:/mysql.dump.sql my-wordpress
-
Twenty Eleven
-
Twenty Eleven CSS http://192.168.59.103/
$ vim wp-content/themes/twentyeleven/style.css
#site-title a
-
DB
DB
$ docker exec my-wordpress sh -c "mysqldump -u root wordpress > /mysql.dump.sql"
-
VCS
$ git statusOn branch masterYour branch is ahead of 'origin/master' by 3 commits. (use "git push" to publish your local commits)Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: mysql.dump.sql modified: wp-content/themes/twentyeleven/style.css
-
5.
-
Dockerle ADD/RUN/EXPOSE/CMD
pull/build/run/exec
Github
https://github.com/mookjp/tutum-docker-wordpress Download ZIPZIP
-
Docker!!
-
http://recruit-tech.co.jp/recruitment/mid-career.html
Docker
-
Docker https://docs.docker.com/ Docker