在系列的第一篇文章《Docker实践》中已经search到并pull了官方的wordpress镜像,接下来我们还要search一个官方的mysql将二者结合,搭建一个可用的wordpress站点。
首先,搞定mysql
1.search
- $ docker search mysql
- NAME DESCRIPTION STARS OFFICIAL AUTOMATED
- mysql MySQL is a widely used, open-source relati... 456 [OK]
- $ docker pull mysql
其次,考虑二者的联合
- $ docker images
- REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
- wordpress latest ecc04d6d638c 2 weeks ago 470 MB
- mysql latest aca96d9e6b5c 2 weeks ago 282.7 MB
wordpress启动命令是这样的:
- $ sudo docker run --name some-wordpress --link some-mysql:mysql -d wordpress
- 启动 WordPress 容器时可以指定的一些环境参数包括
- -e WORDPRESS_DB_USER=... 缺省为 “root”
- -e WORDPRESS_DB_PASSWORD=... 缺省为连接 mysql 容器的环境变量 MYSQL_ROOT_PASSWORD 的值
- -e WORDPRESS_DB_NAME=... 缺省为 “wordpress”
- -e WORDPRESS_AUTH_KEY=..., -e WORDPRESS_SECURE_AUTH_KEY=..., -e WORDPRESS_LOGGED_IN_KEY=..., -e WORDPRESS_NONCE_KEY=..., -e WORDPRESS_AUTH_SALT=..., -e WORDPRESS_SECURE_AUTH_SALT=..., -e WORDPRESS_LOGGED_IN_SALT=..., -e WORDPRESS_NONCE_SALT=... 缺省为随机 sha1 串
针对wordpress的启动命令,我们需要这样针对:
1.给wordpress可以起个名字,这个好办
2.--link参数,这需要我们先启动mysql,然后将其名字链接上
3.端口 -p参数,默认是80端口,但是被我占用了,这里我们映射到8080
启动的mysql的命令:
- $ docker run --name mysql_wordpress -e MYSQL_ROOT_PASSWORD=wordpress -d mysql
对应mysql,wordpress的启动命令如下:
- $ docker run --name docker_wordpress --link mysql_wordpress:mysql -p 8080:80 -d wordpress
接下来就可以在浏览器中输入http://localhost:8080进行wordpress的配置了。
Enjoy!
第三,用fig来配置
实践证明,用fig配置是最好的途径。在上面的基础上,我们只需在自己的docker目录下新建目录如wordpress-docker,再建fig配置文件fig.yml如下:
- wordpress:
- image: "wordpress:latest"
- ports:
- - "8080:80"
- links:
- - db:mysql
- db:
- image: "mysql:latest"
- expose:
- - "3306"
- environment:
- - MYSQL_ROOT_PASSWORD=wordpress
参考:
https://github.com/docker-library/wordpress/blob/aee00669e7c43f435f021cb02871bffd63d5677a/Dockerfile
如果想用fig搭建wordpress,个人感觉更方便一些,参考如下网址:
http://dockerpool.com/static/books/docker_practice/fig/wordpress.html