docker 安装 solo 及相关配置

不使用默认网卡,创建新网卡

-- 组建 docker 内内部网络
docker network create -d bridge intranet

-- 查看 docker 网络列表(网卡)
docker network ls

参考文章:Docker 容器的常用网络模式与容器之间互访 - 知乎 (zhihu.com)

参考文章:Docker 容器互访三种方式 - 三只松鼠 - 博客园 (cnblogs.com)

参考文章:Docker 容器连接 | 菜鸟教程 (runoob.com)

安装 mysql

-- 创建 mysql 容器,不外挂文件
docker run -itd --name mysql --restart always -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 --network intranet mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_0900_ai_ci

--创建 mysql 容器,外挂数据文件、配置文件

docker run -itd --name mysql --restart always -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 -v /home/mysql/config:/etc/mysql/conf.d -v /home/mysql/datadir:/var/lib/mysql mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_0900_ai_ci

**备注:**通用 mysql log 日志文件默认没有开启(off 状态),所以不需要外挂,若需要外挂,则需要在配置文件中开启日志记录功能,并指定日志文件路径,由于日志文件时间长了会很大,不建议开启

查看日志文件状态核路径:

SHOW VARIABLES LIKE '%general%';

序号 变量名
1 general_log OFF
2 general_log_file /var/lib/mysql/aafe7bdcdebe.log

安装 solo

-- cnd 加速 加速不咋样,很慢
docker run -itd --name solo -p 443:443 -p 80:80
--env TZ=Asia/Shanghai
--env RUNTIME_DB="MYSQL"
--env JDBC_USERNAME="root"
--env JDBC_PASSWORD="123456"
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver"
--env JDBC_URL="jdbc:mysql://mysql:3306/solo?allowPublicKeyRetrieval=true&allowMultiQueries=true&autoReconnect=true
&failOverReadOnly=false&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai"
--restart always
--network intranet
b3log/solo
--listen_port=80
--server_scheme=http
--server_host=domain.com
--server_port=

###后面这 4 行是 cdn 资源加速配置
--static_server_scheme=https
--static_server_host=cdn.jsdelivr.net
--static_server_port=
--static_path=/gh/88250/solo/src/main/resources

-- 不用 cdn
docker run -itd --name solo -p 443:443 -p 80:80
--env TZ=Asia/Shanghai
--env RUNTIME_DB="MYSQL"
--env JDBC_USERNAME="root"
--env JDBC_PASSWORD="123456"
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver"
--env JDBC_URL="jdbc:mysql://mysql:3306/solo?allowPublicKeyRetrieval=true&allowMultiQueries=true&autoReconnect=true
&failOverReadOnly=false&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai"
--restart always
--network intranet
b3log/solo
--listen_port=80
--server_scheme=http 协议/https 协议
--server_host=domain.com
--server_port=外部访问的端口没有默认 80

参考文章:Solo 用户指南 - 链滴 (ld246.com)

安装 gitlab

--shm-size 虚拟内存大小

docker run -itd --hostname gitlab.domain.com -p 443:443 -p 80:80 -p 22:22
-e TZ=Asia/Shanghai
--name gitlab
--restart always
-v /srv/gitlab/config:/etc/gitlab
-v /srv/gitlab/logs:/var/log/gitlab
-v /srv/gitlab/data:/var/opt/gitlab
--shm-size 256m
--network intranet
gitlab/gitlab-ce:latest

-- 这个目录是 gitlab 安装部署相关目录,可以修改静态页面:例如增加备案号(icp 和公安)

-v /srv/gitlab/install:/opt/gitlab 这里增加安装目录

安装 nginx

docker run -itd --name=nginx -p 80:80 -p 443:443 --restart=always
-v /srv/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /srv/nginx/conf.d/:/etc/nginx/conf.d/
-v /srv/nginx/cert/:/etc/nginx/cert/
-v /srv/nginx/logs/:/var/log/nginx/
-v /srv/nginx/html/:/usr/share/nginx/html
-e TZ=Asia/Shanghai
--network intranet
nginx:1.21.6

安装 pgsql

docker pull postgres:14.2
docker run -itd --name pgsql --restart always -e POSTGRES_PASSWORD=123456 -p 5432:5432 --network intranet postgres:14.2

安装 mariadb

docker pull mariadb:10.6
docker run -itd --name mariadb -p 3306:3306 --restart always --env MARIADB_USER=root --env MARIADB_PASSWORD=123456 --env MARIADB_ROOT_PASSWORD=123456 --network intranet mariadb:10.6

安装 GitHub 下载加速服务

docker pull hunsh/gh-proxy-py:latest

docker run -itd --name="gh-proxy-py" -p 0.0.0.0:80:80 --restart=always hunsh/gh-proxy-py:latest

  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    438 引用 • 887 回帖 • 84 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1382 引用 • 9927 回帖 • 508 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    872 引用 • 921 回帖 • 57 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    43 引用 • 72 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
JayGao
JayGao的个人博客,分享技术,记录生活,感谢您的支持与关注。 成都