为什么要加 vscode, 方便在线开发
本文 使用 4G内存的虚拟机演示

运行 VsCode

先参照教程运行一个 vscode 编辑器
语雀内容

设置 Mysql 配置

  1. __set_config_mysql() {
  2. mkdir -p /data/docker-data/mysql/conf
  3. rm -rf /data/docker-data/mysql/conf/my8.cnf
  4. cat >/data/docker-data/mysql/conf/my8.cnf <<-'AEOF'
  5. [mysqld]
  6. pid-file = /var/run/mysqld/mysqld.pid
  7. socket = /var/run/mysqld/mysqld.sock
  8. datadir = /var/lib/mysql
  9. secure-file-priv= NULL
  10. # Custom config should go here
  11. !includedir /etc/mysql/conf.d/
  12. max_connections=1000
  13. max_heap_table_size=1G
  14. tmp_table_size=1G
  15. join_buffer_size=1G
  16. innodb_buffer_pool_size=2G
  17. innodb_buffer_pool_instances=64
  18. innodb_flush_log_at_timeout=3
  19. innodb_read_io_threads=32
  20. innodb_write_io_threads=16
  21. innodb_io_capacity=5000
  22. innodb_io_capacity_max=10000
  23. AEOF
  24. }
  25. __set_config_mysql

运行 Mysql8

  1. __run_mysql8() {
  2. docker rm -f mysql8
  3. docker run --name mysql8 -t \
  4. --restart=always \
  5. -p 3306:3306 \
  6. -e MYSQL_USER="kuaicdn" \
  7. -e MYSQL_PASSWORD="passwd" \
  8. -e MYSQL_ROOT_PASSWORD="passwd" \
  9. -v /data/docker-data/mysql/data:/var/lib/mysql \
  10. -v /data/docker-data/mysql/log:/var/log/mysql \
  11. -v /data/docker-data/mysql/conf/my8.cnf:/etc/mysql/my.cnf \
  12. -v /data/docker-data/mysql/mysql-files:/var/lib/mysql-files/ \
  13. -d mysql:8.0.23 \
  14. --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci \
  15. --default-authentication-plugin=mysql_native_password
  16. }
  17. __run_mysql8

运行 PHP

  1. __run_php() {
  2. docker run -itd --name www \
  3. --restart=always \
  4. --net=host \
  5. -v /data/docker-data/vscode/workspace/www:/var/www/html \
  6. registry.cn-hangzhou.aliyuncs.com/kuaicdn/php:7.4.16-apache-buster
  7. }
  8. __run_php

设置 www 目录权限

  1. chmod -R 777 /data/docker-data/vscode/workspace/www