编辑
2023-03-23
学习笔记
00
请注意,本文编写于 343 天前,最后修改于 99 天前,其中某些信息可能已经过时。

目录

安装Docker和Docker-compose
搭建独角数卡
配置nginx

安装Docker和Docker-compose

  1. 安装Docker
bash
curl -fsSL https://get.docker.com -o get-docker.sh&&sudo sh get-docker.sh
  1. 安装Docker-compose
  • ARM64v8
bash
curl -L https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-aarch64 | sudo tee /usr/local/bin/docker-compose >/dev/null
  • AMD64
bash
curl -L https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-x86_64 | sudo tee /usr/local/bin/docker-compose >/dev/null
  1. 执行权限
bash
sudo chmod +x /usr/local/bin/docker-compose
  1. 检查是否正常
bash
docker -v && docker-compose -v

完成以上步骤后,您可以在Debian 11上使用Docker Compose来搭建独角数卡。

搭建独角数卡

  1. 创建 docker-compose.yaml
mkdir Shop && cd Shop mkdir storage uploads chmod 777 storage uploads
  1. 创建数据目录用于挂载
touch env.conf chmod -R 777 env.conf

2.编辑docker-compose

yaml
version: "3" services: web: image: stilleshan/dujiaoka environment: # - INSTALL=false - INSTALL=true # - MODIFY=true volumes: - ./env.conf:/dujiaoka/.env - ./uploads:/dujiaoka/public/uploads - ./storage:/dujiaoka/storage ports: - 8090:80 # 8090可以改成任意服务器没有使用过的端口,80不要修改 restart: always networks: - dujiaoka_network # 使用定义好的网络 db: image: mariadb:focal restart: always environment: - MYSQL_ROOT_PASSWORD=changeyourpassword - MYSQL_DATABASE=dujiaoka - MYSQL_USER=dujiaoka - MYSQL_PASSWORD=changeyourpassword volumes: - ./mysql:/var/lib/mysql networks: - dujiaoka_network # 使用定义好的网络 redis: image: redis:alpine restart: always volumes: - ./redis:/data networks: - dujiaoka_network # 使用定义好的网络 nginx-proxy: # 反向代理服务 image: 'jc21/nginx-proxy-manager:latest' # 镜像名称及标签 restart: unless-stopped # 不重启容器除非手动停止 ports: - '80:80' # 映射本地80端口到容器80端口 - '81:81' # 映射本地81端口到容器81端口 - '443:443' # 映射本地443端口到容器443端口 volumes: - ./data:/data # 数据文件挂载 - ./letsencrypt:/etc/letsencrypt # SSL证书文件挂载 networks: - dujiaoka_network # 使用定义好的网络 # 定义网络 networks: dujiaoka_network: # 网络名称
  1. 编辑.env文件
ini
APP_NAME=咕咕的小卖部 #网站名称 APP_ENV=local APP_KEY=base64:rKwRuI6eRpCw/9e2XZKKGj/Yx3iZy5e7+FQ6+aQl8Zg= APP_DEBUG=true APP_URL=https://你的域名 LOG_CHANNEL=stack # 数据库配置 DB_CONNECTION=mysql DB_HOST=db DB_PORT=3306 DB_DATABASE=dujiaoka DB_USERNAME=dujiaoka DB_PASSWORD=changeyourpassword # redis配置 REDIS_HOST=redis REDIS_PASSWORD= REDIS_PORT=6379 BROADCAST_DRIVER=log SESSION_DRIVER=file SESSION_LIFETIME=120 # 缓存配置 # file为磁盘文件 redis为内存级别 # redis为内存需要安装好redis服务端并配置 CACHE_DRIVER=redis # 异步消息队列 # sync为同步 redis为异步 # 使用redis异步需要安装好redis服务端并配置 QUEUE_CONNECTION=redis # 后台语言 ## zh_CN 简体中文 ## zh_TW 繁体中文 ## en 英文 DUJIAO_ADMIN_LANGUAGE=zh_CN # 后台登录地址 ADMIN_ROUTE_PREFIX=/admin # 是否开启https (前端开启了后端也必须为true) # 后台登录出现0err或者其他登录异常问题,大概率是开启了https而后台没有开启,把下面的false改为true即可 ADMIN_HTTPS=true
  1. 拉取镜像并启动容器
bash
sudo docker-compose up -d
  1. 停止并卸载所有容器
bash
sudo docker-compose down

配置nginx

  1. Nginx Proxy Manager初始用户名和密码

Email: [email protected] Password: changeme

  1. 更新独角数卡
cd /root/data/docker_data/shop docker-compose down cp -r /root/data/docker_data/shop /root/data/docker_data/shop.archive # 万事先备份,以防万一 docker-compose pull docker-compose up -d # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。 docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像

提示:

WARNING! This will remove all dangling images. Are you sure you want to continue? [y/N]

输入 Y回车即可

  1. 卸载独角数卡,以下命令可以卸载的很干净!
cd /root/data/docker_data/shop docker-compose down cd .. rm -rf /root/data/docker_data/shop # 完全删除映射到本地的数据
  1. 使用教程

成功登录之后,我们填写信息,

注意数据库地址填db,Redis填redis

填写完成后,点击保存。

提示默认的账户名和密码都是admin

此时,我们先停止容器。

cd /root/shop docker-compose down

接着我们修改一下docker-compose.yml以及env.conf里面的内容。

分别把 - INSTALL=true 改成 - INSTALL=false

APP_DEBUG=true 改成 APP_DEBUG=false

之后运行:

docker-compose up -d

然后在域名后面加上/admin,输入默认的账户密码admin就可以正常登录后台了!

记得改一下用户名和密码!

本文作者:我本无罪

本文链接:

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