阅读(1260) (0)

Docker 搭建wordpress

2016-02-24 14:47:26 更新

在系列的第一篇文章《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]         

2.pull

$ 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的密码,姑且这样暴露着吧。

对应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  

每次启动只需执行本目录下的fig up -d就可以了!

参考:

https://github.com/docker-library/wordpress/blob/aee00669e7c43f435f021cb02871bffd63d5677a/Dockerfile

如果想用fig搭建wordpress,个人感觉更方便一些,参考如下网址:

http://dockerpool.com/static/books/docker_practice/fig/wordpress.html