本文介绍: 用户可以从任何 IP 地址连接。出于安全考虑,通常建议仅允许特定的 IP 地址地址范围。如果你想限制远程访问的 IP 地址可以将。添加执行权限下载完成后,需要为 Docker Compose 文件添加执行权限。在yml文件中我提供了mysql密码,但是在安装后,使用密码始终无法登录,后面尝试密码为空进入了。如果你想限制这些权限仅适用于特定的数据库可以将。如果你想限制用户只能从特定的 IP 地址连接,将。用户添加一个允许从任何主机连接的权限。替换为特定的 IP 地址或地址范围

1.安装git

安装git

yum -y install git

2.安装compose

docker安装参考docker基本知识

  1. 确保已经安装了 Docker:Docker Compose 是 Docker一个独立组件,因此在安装 Docker Compose 之前,需要先安装 Docker。你可以按照 Docker 官方文档的指引进行 Docker 的安装。
  2. 下载 Docker Compose可执行文件可以使用以下命令从 Docker 官方 GitHub 存储下载 Docker Compose最新版本:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

添加执行权限:下载完成后,需要为 Docker Compose 文件添加可执行权限。可以使用以下命令完成:

sudo chmod +x /usr/local/bin/docker-compose

验证安装:运行 docker-compose --version 命令验证 Docker Compose 是否成功安装。你应该能够看到 Docker Compose版本信息

docker-compose --version

关闭防火墙

systemctl stop firewalld

3.拉取仓库

#拉取仓库
git clone https://github.com/fukoy/docker-typecho.git
cd docker-typecho

[root@chatgpt-test docker-typecho]# pwd
/tmp/docker-typecho


4.创建目录

mkdir -p /data/mysql/data
mkdir -p /data/mysql/logs
mkdir -p /data/mysql/conf



mv /tmp/docker-typecho/nginx /data/nginx
mv /tmp/docker-typecho/www /data/www

5.配置文件修改

修改docker-compose文件

vim docker-compose.yml 

改成如下配置

version: '3'

services:
  web:
    image: fukoy/nginx-php-fpm:php7.4
    ports:
      - '8090:80'
    restart: always
    volumes:
      - /data/www:/usr/share/nginx/typecho/
      - /data/nginx/conf.d:/etc/nginx/conf.d
      - /data/nginx/nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - mysql
    networks:
      - web

  mysql:
    image: mysql:5.7
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=123456  # 替换为你的 MySQL root 密码
      - MYSQL_DATABASE=typecho       # 替换为你的数据库名称
      - MYSQL_USER=typecho               # 替换为你的数据库用户
      - MYSQL_PASSWORD=typecho       # 替换为你的数据库用户密码
    volumes:
      - /data/mysql/data:/var/lib/mysql
      - /data/mysql/logs:/var/log/mysql
      - /data/mysql/conf:/etc/mysql/conf.d
    networks:
      - web
    ports:
      - '3306:3306'

networks:
  web:

此处配置文件中与官方文档不一致,移除env_file 指令,并直接在 mysql 服务添加environment 指令来设置环境变量。确保替换 yourpasswordyourdatabaseyouruseryourpassword 为你的实际 MySQL 配置。

运行 docker-compose up -d 之前,请进行以下步骤

  1. 确认 /data/nginx/nginx.conf 存在且为文件
  2. 确认 /data/www/data/nginx/conf.d/data/mysql/data/data/mysql/logs/data/mysql/conf 路径宿主机存在具有正确的权限。
  3. 如果这些目录文件存在,请创建它们并确保 Docker 用户有权访问它们。

6.启动容器

启动服务

#在/usr/local/typecho1.2/docker-typecho文件夹下

[root@chatgpt-test docker-typecho]# docker-compose up -d
[+] Running 3/3
 ✔ Network docker-typecho_web        Created                                                             1.2s 
 ✔ Container docker-typecho-mysql-1  Started                                                             2.6s 
 ✔ Container docker-typecho-web-1    Started                                                             2.5s 

停止服务

[root@chatgpt-test docker-typecho]# docker-compose down
[+] Running 3/3
 ✔ Container docker-typecho-web-1    Removed                                                            21.2s 
 ✔ Container docker-typecho-mysql-1  Removed                                                            15.4s 
 ✔ Network docker-typecho_web        Removed                                                             2.0s 

查看docker进程

[root@chatgpt-test docker-typecho]# docker ps
CONTAINER ID   IMAGE                        COMMAND                   CREATED          STATUS          PORTS                                                  NAMES
e3a0be6784fa   fukoy/nginx-php-fpm:php7.4   "/start.sh"               34 seconds ago   Up 20 seconds   0.0.0.0:8090->80/tcp, :::8090->80/tcp                  docker-typecho-web-1
4bd75605293f   mariadb                      "docker-entrypoint.s…"   36 seconds ago   Up 27 seconds   3306/tcp, 0.0.0.0:3307->3307/tcp, :::3307->3307/tcp    docker-typecho-mysql-1

重启

#docker-compose重启
docker-compose restart

7.修改MYSQL数据库

yml文件中我提供了mysql密码,但是在安装后,使用密码始终无法登录,后面尝试密码为空进入了。

1.登录mysql

#进入容器:docker exec -it 容器id /bin/bash


[root@chatgpt-test docker-typecho]# docker exec -it 577b95066eec /bin/bash
root@577b95066eec:/# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 20
Server version: 5.7.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> 

2.设置 root 用户的密码
在 MySQL 提示符下,使用 ALTER USER 语句root 用户设置新密码。请确保你使用了强密码。以下是设置密码为 123456命令

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

3.授予远程访问权限:

为了允许其他设备远程连接到 MySQL 服务器,你需要为 root 用户添加一个允许从任何主机连接的权限。使用以下命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;

这里 'root'@'%' 表示 root 用户可以从任何 IP 地址连接。出于安全考虑,通常建议仅允许特定的 IP 地址或地址范围。如果你想限制远程访问的 IP 地址,可以将 % 替换为特定的 IP 地址或地址范围。

4.创建新用户:

在 MySQL 提示符下,创建一个名为 typecho 的新用户,并设置密码(在这里我们使用 123456 作为示例密码,具体的密码按照实际需求 ):

CREATE USER 'typecho'@'%' IDENTIFIED BY '123456';

'typecho'@'%' 表示用户 typecho 可以从任何 IP 地址连接。如果你想限制用户只能从特定的 IP 地址连接,将 % 替换为该 IP 地址。

5.授予权限

赋予 typecho 用户创建数据库和表的权限:

GRANT CREATE ON *.* TO 'typecho'@'%';
GRANT DROP ON *.* TO 'typecho'@'%';
GRANT ALTER ON *.* TO 'typecho'@'%';

这些命令允许用户 typecho 在所有数据库上创建、删除修改表。如果你想限制这些权限仅适用于特定的数据库,可以将 *.* 替换<数据库名>.*

6.刷新权限
为了使权限更改立即生效,需要刷新权限:

FLUSH PRIVILEGES;

7.退出 MySQL
输入 exit 命令退出 MySQL 客户端

exit

访问:http://192.168.31.223:8090/install.php

在这里插入图片描述
选择Pdo驱动SQLite适配器

默认配置,直接安装
在这里插入图片描述
设置管理员账号信息

在这里插入图片描述

8.安装成功

在这里插入图片描述

博客界面
在这里插入图片描述

结束~

9.参考GitHub文档

https://github.com/fukoy/docker-typecho

原文地址:https://blog.csdn.net/qq_39689711/article/details/134755484

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_28808.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注