typecho
docker run --name typecho-server -p 8082:9000 -e TYPECHO_SITE_URL=https://myblog.me -d joyqi/typecho:nightly-php7.4-fpm
docker pull 80x86/typecho
docker run -d --name=typecho-blog --restart always -e PHP_TZ=Asia/Shanghai -e PHP_MAX_EXECUTION_TIME=600 -p 8082:80 80x86/typecho:latest
自定义 用最新版的typecho
vi /data/typecho/init.sh
#!/bin/bash
mkdir -p mysql
mkdir -p nginx
mkdir -p ssl
mkdir -p server
mkdir -p typecho
echo '
FROM php:7.3.31-fpm-buster
LABEL maintainer="deverkis" \
email="deverkis@qq.com" \
version="7.3.31"
RUN sed -i "s/deb.debian.org/mirrors.aliyun.com/g" /etc/apt/sources.list && apt-get update \
&& docker-php-ext-install pdo_mysql \
&& echo "output_buffering = 4096" > /usr/local/etc/php/conf.d/php.ini
' > server/Dockerfile
cd typecho
git clone https://github.com/typecho/typecho.git .
git clone https://github.com/typecho/typecho.git .
cd ..
if [ ! -e "typecho/index.php" ];then
echo "typecho download failure, try again."
exit;
fi
cd server
docker build -t deverphp/server:1.0 .
cd ..
echo '
version: "3"
services:
nginx:
image: nginx
container_name: deverserver
ports:
- "80:80"
- "443:443"
restart: always
volumes:
- ./typecho:/var/www/html
- ./ssl:/var/www/ssl
- ./nginx:/etc/nginx/conf.d
depends_on:
- php
networks:
- web
php:
image: deverphp/server:1.0
container_name: deverphp
restart: always
ports:
- "9000:9000"
volumes:
- ./typecho:/var/www/html
environment:
- TZ=Asia/Shanghai
depends_on:
- mysql
networks:
- web
mysql:
image: mysql:5.7
container_name: devermysql
restart: always
ports:
- "3306:3306"
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/logs:/var/log/mysql
- ./mysql/conf:/etc/mysql/conf.d
env_file:
- mysql.env
networks:
- web
networks:
web:
' > docker-compose.yml
echo '
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php;
access_log /var/log/nginx/typecho_access.log main;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}
location ~ .*\.php(\/.*)*$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
' > nginx/default.conf
echo '
# MySQL的root用户默认密码,这里自行更改
MYSQL_ROOT_PASSWORD=deverphp668
# MySQL镜像创建时自动创建的数据库名称
MYSQL_DATABASE=typechodb
# MySQL镜像创建时自动创建的用户名
MYSQL_USER=deverphp
# MySQL镜像创建时自动创建的用户密码
MYSQL_PASSWORD=deverphp668
# 时区
TZ=Asia/Shanghai
' > mysql.env
cd /data/typecho
bash init.sh
#确定上面步骤不出错,再执行
docker-compose up -d
wordpress
mkdir -p /data/wordpress
vi /data/wordpress/docker-compose.yml
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: bloguser
WORDPRESS_DB_PASSWORD: deverkis&passwd
WORDPRESS_DB_NAME: blog2
volumes:
- wordpress:/var/www/html
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: blog2
MYSQL_USER: bloguser
MYSQL_PASSWORD: deverkis&passwd
MYSQL_ROOT_PASSWORD: Kis668
volumes:
- db:/var/lib/mysql
volumes:
wordpress:
db:
运行部署
cd /data/wordpress
docker-compose up -d
dokuwiki
curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-dokuwiki/master/docker-compose.yml > docker-compose.yml
docker-compose up -d