本文最后更新于 2024-08-06,

若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益, 请联系我 删除。

本站只有Telegram群组为唯一交流群组, 点击加入

文章内容有误?申请成为本站文章修订者或作者? 向站长提出申请

1715870768000.webp

Answer是一个类似知乎的开源问答社区。支持Docker部署

Answer 官方网址:https://answer.dev/
Answer 官方 GitHub:https://github.com/answerdev/answer
Answer 官方文档:https://answer.dev/docs/installation/

项目展示

首页

1715870857540.webp

安装Docker🐳

利用Docker-compose搭建,易于更新

先建立一个文件夹

mkdir -p ~/answer &&cd $_

vim docker-compose.yml

docker-compose填入以下内容:

version: "3"
services:
  answer:
    image: answerdev/answer
    ports:
      - '9008:80'            # 冒号左边可以改成自己服务器未被占用的端口
    restart: on-failure
    volumes:
      - ./answer-data:/data  # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 answer-data 文件夹中

  db:
    image: mariadb:10
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      MYSQL_ROOT_PASSWORD: answer   # 数据库用户root的密码,建议自行修改一个
      MYSQL_USER: answer   
      MYSQL_PASSWORD: answer   # 数据库用户answer的密码,建议自行修改一个
      MYSQL_DATABASE: answer 
    volumes:
      - ./mariadb:/var/lib/mysql  # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 mariadb 文件夹中
    restart: on-failure

修改好之后,注意切换成英文输入法,然后按一下 esc,然后 :wq 保存退出。

运行

docker-compose up -d

我们现在可以输入 http://ip:9008/访问了。

更新

cd ~/answer # 进入docker-compose所在的文件夹

docker-compose pull    # 拉取最新的镜像

docker-compose up -d   # 重新更新当前镜像

卸载

cd ~/answer # 进入docker-compose所在的文件夹

docker-compose down    # 停止容器,此时不会删除映射到本地的数据

rm -rf ~/answer # 完全删除映射到本地的数据

反向代理

参考教程:安装及使用

⚠️Nginx Proxy Manager(以下简称NPM)会用到80、443端口,所以本机不能占用(比如原来就有Nginx)

互联网使用请确保完成了域名解析