编辑
2024-06-20
项目分享
00
请注意,本文编写于 287 天前,最后修改于 91 天前,其中某些信息可能已经过时。

目录

Docker
NetWork
Nginx
Nacos
r-nacos
Redis
ValKey
Mysql
快速部署mysql
ElasticSearch
Adminer
Gitea
gitea/act_runner
Nginx-proxy-manager-zh
sentinel
kkfileview

提示

ubuntu 20.04

Docker

卸载

sudo yum remove $(rpm -qa | grep docker)

安装

sudo curl -fsSL https://get.docker.com/ | sh #镜像安装 sudo curl -fsSL https://github.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun

自启动

sudo systemctl enable docker

启动

sudo service docker start

NetWork

单机

sudo docker network create --subnet=172.100.0.0/16 sup-network

集群

sudo docker network create -d overlay --attachable --subnet=172.100.0.0/16 sup-network

Nginx

拉取

sudo docker pull nginx

运行

sudo docker run -p 80:80 -p 443:443 --restart always --net sup-network --ip 172.100.0.200 --name nginx -v /srv/nginx/www:/www -v /srv/nginx/conf/:/etc/nginx/ -v /srv/nginx/logs:/var/log/nginx -v /srv/nginx/wwwlogs:/wwwlogs -d nginx

Nacos

拉取

sudo docker pull nacos/nacos-server

运行

sudo docker run --restart always --name nacos --net sup-network --ip 172.100.0.100 -p 8848:8848 --env MODE=standalone -d nacos/nacos-server

r-nacos

拉取

stable是最新正式版本号,也可以指定镜像版本号,如: qingpan/rnacos:v0.4.0 docker pull qingpan/rnacos:stable

部署

docker run --name mynacos -p 8848:8848 -p 9848:9848 -p 10848:10848 -d qingpan/rnacos:stable

Redis

拉取

sudo docker pull redis

运行

sudo docker run --restart=always --name redis --net sup-network --ip 172.100.0.102 -p 6379:6379 -d redis:latest redis-server --requirepass "123456"

最好是持久化到宿主机

创建配置文件(可选)

vi $PWD/docker/redis/redis.conf

根据需要输入内容,可以从官网复制conf的配置,如果只需要关闭保护模式,只输入protected-mode no即可

sudo docker run --restart=always -v $PWD/docker/redis/redis.conf:/etc/redis/redis.conf -v $PWD/docker/redis/data:/data --name redis --net sup-network --ip 172.100.0.102 -p 6379:6379 -d redis:latest redis-server --requirepass "123456"

额外的命令(可选)

可以选择关闭保护模式(按需选择),仅限6.0以下使用

--protected-mode no

是否启用AOF持久化(按需选择)

--appendonly yes

ValKey

redis的替代开源产品

官网 github

拉取

sudo docker pull valkey/valkey:7.2.7

运行

sudo docker run --restart=always --name valkey --net sup-network --ip 172.100.0.102 -p 6379:6379 -d valkey/valkey:7.2.7 valkey-server --requirepass "123456"

Mysql

拉取

sudo docker pull mysql:5.7

配置

sudo mkdir -p /home/mysql/conf.d sudo mkdir -p /home/mysql/var/lib/mysql sudo vi /home/mysql/conf.d/conf-file.cnf

内容

[mysqld] #表名不区分大小写 lower_case_table_names=1 datadir=/var/lib/mysql [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid

运行

sudo docker run --restart=always --name mysql --net sup-network --ip 172.100.0.101 -p 3306:3306 -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

快速部署mysql

docker run --name mysql-container \ -e MYSQL_ROOT_PASSWORD=your_root_password \ -e MYSQL_DATABASE=your_database \ -e MYSQL_USER=your_user \ -e MYSQL_PASSWORD=your_password \ -p 3306:3306 \ -v ~/mysql-docker/data:/var/lib/mysql \ -d mysql:8.0

ElasticSearch

拉取

sudo docker pull elasticsearch:7.6.2

配置

sudo vi /etc/sysctl.conf sudo vm.max_map_count=655360 sudo sysctl -p

运行

sudo docker run --restart=always --name elasticsearch --net sup-network --ip 172.100.0.103 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.6.2

RabbitMQ

拉取

sudo docker pull rabbitmq:management

运行

sudo docker run --restart=always --name rabbitmq --net sup-network --ip 172.100.0.104 -p 15672:15672 -p 5672:5672 -d rabbitmq:management

MINIO

拉取

sudo docker pull minio/minio

配置

sudo mkdir -p /home/minio/config sudo mkdir -p /home/minio/data

运行

sudo docker run --restart=always --name minio --net=sup-network --ip 172.100.0.105 -p 9000:9000 -p 9001:9001 -e "MINIO_ACCESS_KEY=admin" -e "MINIO_SECRET_KEY=123456" -v /home/minio/data:/data -v /home/minio/config:/root/.minio -d minio/minio server /data --console-address ":9001"

Adminer

数据库图形化管理界面

拉取

sudo docker pull adminer

运行

docker run --name adminer --net sup-network -p 3300:8080 -d --restart=always adminer

浏览器打开http://{{ip}}:3300 即可访问 如果加入网络组,访问的mysql也是网络组里的 那么数据库地址就写网络组里的ip,否则服务器ip即可

Gitea

拉取 docker pull gitea/gitea

部署

docker-compose
version: "3" networks: gitea: external: false services: server: image: gitea/gitea:latest container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 - DB_TYPE=mysql - DB_HOST=db:3306 - DB_NAME=gitea - DB_USER=gitea - DB_PASSWD=gitea restart: always networks: - gitea volumes: - ./data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3000:3000" - "222:22" depends_on: - db db: image: mysql:5.7 restart: always environment: - MYSQL_ROOT_PASSWORD=gitea - MYSQL_USER=gitea - MYSQL_PASSWORD=gitea - MYSQL_DATABASE=gitea networks: - gitea volumes: - ./mysql:/var/lib/mysql

localhost:3000 进入即可

如果需要action功能,需要额外部署gitea/act_runner

gitea/act_runner

拉取

docker pull gitea/act_runner

生成配置

docker run --entrypoint="" --rm -it gitea/act_runner:latest act_runner generate-config > config.yaml

部署

docker-componse
version: "3.8" services: runner: image: gitea/act_runner:nightly environment: CONFIG_FILE: /config.yaml GITEA_INSTANCE_URL: "${INSTANCE_URL}" GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}" GITEA_RUNNER_NAME: "${RUNNER_NAME}" GITEA_RUNNER_LABELS: "${RUNNER_LABELS}" volumes: - ./config.yaml:/config.yaml - ./data:/data - /var/run/docker.sock:/var/run/docker.sock

${INSTANCE_URL} = gitea服务地址,如http://192.168.1.1:3000

${REGISTRATION_TOKEN} = 仓库的runner密钥

${RUNNER_NAME}=runner名称

${RUNNER_LABELS} =runner标签

Nginx-proxy-manager-zh

可视化的nginx管理器,优点就是配置端口映射、重定向、等操作方便,还有自动获取ssl证书功能,缺点就是镜像比较大,不够轻量

拉取

docker pull chishin/nginx-proxy-manager-zh:latest

部署

docker-compose
version: '3' services: app: image: 'chishin/nginx-proxy-manager-zh' restart: unless-stopped ports: - '80:80' # 不建议修改端口 - '81:81' # 可以把冒号左边的 81 端口修改成你服务器上没有被占用的端口 - '443:443' # 不建议修改端口 volumes: - ./data:/data # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 data 目录,用于存放数据,如果>不存在的话,会自动创建 - ./letsencrypt:/etc/letsencrypt # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 letsencrypt 目录,>用于存放证书,如果不存在的话,会自动创建

运行

docker-compose up -d

访问localhost:81

默认登录的用户名:admin@example.com 密码:changeme

sentinel

拉取

docker pull bladex/sentinel-dashboard

部署

docker run --name sentinel -d -p 8858:8858 bladex/sentinel-dashboard

kkfileview

官网

在线预览文件支持多种格式

拉取

docker pull keking/kkfileview

部署

docker run -p 8012:8012 --name kkfileview \ -d keking/kkfileview

使用方式

http://127.0.0.1:8012/onlinePreview?url=这里输入被base64编码后的文件url

本文作者:Weee

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!