前提:需要安装docker和docker-compose,如何安装请自行百度。以及准备一台服务器和一个域名。
本站同款服务器:https://www.rainyun.com/NjQ3MjM=_
创建安装目录
sudo -i #获取系统root权限
mkdir -p /root/data/docker_data/shop #创建名为shop的目录
cd /root/data/docker_data/shop #移动到shop目录
mkdir storage uploads #在shop目录下分别创建storage和uploads目录
chmod -R 777 storage uploads #赋予这两个目录777权限,执行等权限。
创建docker-compose文件
vim docker-compose.yml
vim
是在 Linux 系统中常用的一个文本编辑器命令,需要下载该文本编辑器才能用,如何下载自行百度。注意不同linux系统下载命令不同。
英文输入法下,按 i
回车进入输入模式,接着复制粘贴下面代码。
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
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
redis:
image: redis:alpine
restart: always
volumes:
- ./redis:/data
changeyourpassword
可以修改成自己的密码。
修改好之后,注意切换成英文输入法,然后按一下 esc
退出输入模式,接着:wq
保存退出。
其实有些连接服务器的工具可以直接右键创建文件,然后把代码复制进去,还能右键文件赋予相关权限。
创建数据文件并写入相关配置代码
vim env.conf
将数据配置代码复制粘贴进去:
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
这边可以不用动,因为后续我们安装的时候填的信息会覆盖这里面的内容,修改好之后,注意切换成英文输入法,然后按一下 esc
,然后 :wq
保存退出。
赋予数据文件777权限
chmod -R 777 env.conf
最后执行docker-compose运行:
cd /root/data/docker_data/shop #来到 dockercompose 文件所在的文件夹下
docker-compose up -d #执行docker-compose拉取相关镜像并运行
理论上我们就可以输入 http://ip:8090
访问添入相关信息安装就行了。
更新
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
卸载
cd /root/data/docker_data/shop #cd到shop目录
docker-compose down #停止运行容器
cd .. #回到上一级目录
rm -rf /root/data/docker_data/shop # 完全删除映射到本地的数据
可以卸载得很干净。
7. 反向代理
如果后续想要分享给别人,IP + 端口太不优雅了,而且这个涉及到密码的,还是非常需要做https的!会让网页更安全!这里不讲反向代理,请百度如何设置反向代理。方法很多也很简单。
8.注意事项
如果你是使用腾讯云的服务器,那么你需要去腾讯云服务器控制台把8090端口打开,如下图。我这里把8090改成了1001端口所以打开的是1001.
数据库密码为docker-compose文件中的changeyourpassword这个,如果没改的话。包括数据库端口和redis缓存端口这些没改的话就是下图这样填,下图网站url我是填的域名。如何反向代理请自行百度。
8. 使用教程
成功登录之后,我们填写信息,
注意数据库地址填db
,Redis填redis
填写完成后,点击保存。
提示默认的账户名和密码都是admin
此时,我们先停止容器。
来看下效果吧~~~