playbook與docker部署Wordpress

Docker部署wordpress:


需要運行兩個容器,一個mysql容器一個wordpress容器,他們都有自帶的一些變量,方便我們去部署他們

##############################################################################
mysql鏡像內置變量
MYSQL_ROOT_PASSWORD
MYSQL_USER
MYSQL_PASSWORD
MYSQL_DATABASE

創建MySQL容器
docker run --name mysql -d -p 3306:3306 -v data:/var/lib/mysql  \
> -e MYSQL_ROOT_PASSWORD=123 \
> -e MYSQL_DATABASE=wordpress \
> -e MYSQL_USER=tom \
> -e MYSQL_PASSWORD=123456  --restart always  10.30.5.120/docker/mysql:5.6

##############################################################################
wordpress鏡像內置的變量
WORDPRESS_DB_HOST            \\MySQL數據庫主機ip地址
WORDPRESS_DB_PORT                \\Mysql服務的端口
WORDPRESS_DB_NAME                \\數據庫的名字
WORDPRESS_DB_USER               \\登錄MySQL的用戶
WORDPRESS_DB_PASSWORD            \\登錄用戶密碼

創建wordpress容器
docker run --name wordpress -d -p 80:80 \
> -e WORDPRESS_DB_HOST=192.168.189.171 \
> -e WORDPRESS_DB_NAME=wordpress \
> -e WORDPRESS_DB_USER=tom \
> -e WORDPRESS_DB_PASSWORD=123456 --restart always --link mysql 10.30.5.120/docker/wordpress

部署wordpress:

劇本運行前語法:

檢查語法:ansible-playbook --syntax-check + name.yaml
列出執行任務: ansible-playbook --list-task + name.yaml
查看運行的主機: ansible-playbook --list-hosts + name.yaml

---
- hosts: webservers
  tasks:
    - name: "推送Nginx"
      unarchive:
        src: nginx-1.11.2.tar.gz
        dest:  /root/
    - name: "安裝gcc和php環境"
      yum:
        name: gcc,pcre-devel,zlib-devel,php,php-mysql,php-fpm,mysql,mysql-server,unzip
        state: latest
    - name: "編譯安裝nginx"
      shell: cd /root/nginx-1.11.2 && ./configure && make && make install
    - name: "關閉防火牆"
      service:
        name: iptables
        state: stopped
    - name: "關閉selinux"
      shell: setenforce 0
    - name: "啓動mysql"
      service:
        name: mysqld
        state: started
        enabled: yes
    - name: "啓s動php-fpm"
      service:
        name: php-fpm
        state: started
        enabled: yes
    - name: "推送nginx配置文件"
      copy:
        src: nginx.conf
        dest: /usr/local/nginx/conf/nginx.conf
    - name: "重新載入nginx"
      tags: config-nginx
      shell: /usr/local/nginx/sbin/nginx -s reload
    - name: "推送wordpress"
      tags: config-nginx
      unarchive:
        src: wordpress-4.9.4-zh_CN.zip
        dest: /usr/local/nginx/html
        mode: 0777
    - name: "創建數據庫和用戶"
      tags: config-nginx
      shell: mysql -e "create database if not exists wordpress charset utf8;" && mysql -e "grant all on wordpress.* to tom@'localhost' identified by '123';"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章