mkdir -p /opt/mysql/data /opt/mysql/conf.d /opt/mysql/conf /opt/mysql/logs
(vi /opt/mysql/conf/my.cnf)
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock
!includedir /etc/mysql/conf.d/
mkdir /opt/wikijs
cd /opt/wikijs
(vi docker-compose.yaml)
version: "3"
services:
mysqldb:
restart: always
privileged: true
image: mysql:8.0
container_name: mysqldb
volumes:
- /opt/mysql/data:/var/lib/mysql
- /opt/mysql/conf.d:/etc/mysql/conf.d
- /opt/mysql/conf/my.cnf:/etc/my.cnf
- /opt/mysql/logs:/logs
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
environment:
MYSQL_ROOT_PASSWORD: "asdf1234"
MYSQL_DATABASE: "wikijs"
MYSQL_USER: "wikijs"
MYSQL_PASSWORD: "wikijs"
MYSQL_INITDB_SKIP_TZINFO: "Asia/Shanghai"
ports:
- 3306:3306
wiki:
image: ghcr.io/requarks/wiki:2
environment:
DB_TYPE: mysql
DB_HOST: mysqldb
DB_PORT: 3306
DB_USER: wikijs
DB_PASS: wikijs
DB_NAME: wikijs
restart: unless-stopped
ports:
- "18081:3000"
docker-compose up -d
ecs-user@gaokao-service:~/wikijs$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
75e17ba5db62 ghcr.io/requarks/wiki:2 "docker-entrypoint.s…" 3 hours ago Up 3 hours 3443/tcp, 0.0.0.0:18081->3000/tcp, :::18081->3000/tcp wikijs_wiki_1
8d3cf2b67145 mysql:8.0 "docker-entrypoint.s…" 8 days ago Up Less than a second 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysqldb
user表里的providerId需要设置为1, provideKey需要设置为local