Docker Fig實(shí)戰(zhàn) wordpress

2021-09-14 15:47 更新

使用 Wordpress 入門 Fig

Fig 讓 Wordpress 運(yùn)行在一個(gè)獨(dú)立的環(huán)境中很簡易。 安裝 Fig ,然后下載 Wordpress 到當(dāng)前目錄:

wordpress.org/latest.tar.gz | tar -xvzf -

這將會創(chuàng)建一個(gè)叫 wordpress 目錄,你也可以重命名成你想要的名字。在目錄里面,創(chuàng)建一個(gè) Dockerfile 文件,定義應(yīng)用的運(yùn)行環(huán)境:

FROM orchardup/php5
ADD . /code

以上內(nèi)容告訴 Docker 創(chuàng)建一個(gè)包含 PHP 和 Wordpress 的鏡像。更多關(guān)于如何編寫 Dockerfile 文件的信息可以查看 鏡像創(chuàng)建Dockerfile 使用。

下一步,fig.yml 文件將開啟一個(gè) web 服務(wù)和一個(gè)獨(dú)立的 MySQL 實(shí)例:

web:
  build: .
  command: php -S 0.0.0.0:8000 -t /code
  ports:
    - "8000:8000"
  links:
    - db
  volumes:
    - .:/code
db:
  image: orchardup/mysql
  environment:
    MYSQL_DATABASE: wordpress

要讓這個(gè)應(yīng)用跑起來還需要兩個(gè)文件。 第一個(gè),wp-config.php ,它是一個(gè)標(biāo)準(zhǔn)的 Wordpress 配置文件,有一點(diǎn)需要修改的是把數(shù)據(jù)庫的配置指向 db 容器。

<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', "db:3306");
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

$table_prefix  = 'wp_';
define('WPLANG', '');
define('WP_DEBUG', false);

if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

require_once(ABSPATH . 'wp-settings.php');

第二個(gè),router.php ,它告訴 PHP 內(nèi)置的服務(wù)器怎么運(yùn)行 Wordpress:

<?php

$root = $_SERVER['DOCUMENT_ROOT'];
chdir($root);
$path = '/'.ltrim(parse_url($_SERVER['REQUEST_URI'])['path'],'/');
set_include_path(get_include_path().':'.__DIR__);
if(file_exists($root.$path))
{
    if(is_dir($root.$path) && substr($path,strlen($path) - 1, 1) !== '/')
        $path = rtrim($path,'/').'/index.php';
    if(strpos($path,'.php') === false) return false;
    else {
        chdir(dirname($root.$path));
        require_once $root.$path;
    }
}else include_once 'index.php';

這些配置文件就緒后,在你的 Wordpress 目錄里面執(zhí)行 fig up 指令,F(xiàn)ig 就會拉取鏡像再創(chuàng)建我們所需要的鏡像,然后啟動 web 和數(shù)據(jù)庫容器。 接著訪問 docker 守護(hù)進(jìn)程監(jiān)聽的 8000 端口就能看你的 Wordpress 網(wǎng)站了。(如果你有使用 boot2docker ,執(zhí)行 boot2docker ip ,就會看到它的地址)。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號