wikijs使用docker安装

2022年7月25日 11:32

 

描述

 
wikijs文档有docker-compose安装说明, 实际中会遇到几个问题
 

wikij官网

 
 

遇到问题

 
1. wikijs上传之后的问题如何备份?  需要将本地目录挂入docker, 并在wikijs存储中配置为上传路径.
 
2. docker volume如何备份与还原?  需要借助busybox镜像。如果直接从/var/lib/docker/volume目录拷贝会遇到很多问题.
 

修改之后的docker-compose.yaml

version: "3"
services:

  wikidb:
    image: postgres:11-alpine
    environment:
      POSTGRES_DB: wiki
      POSTGRES_PASSWORD: wikijsrocks
      POSTGRES_USER: wikijs
    logging:
      driver: "none"
    restart: unless-stopped
    volumes:
      - db-data:/var/lib/postgresql/data

  wiki:
    image: ghcr.io/requarks/wiki:2
    depends_on:
      - wikidb
    environment:
      DB_TYPE: postgres
      DB_HOST: wikidb
      DB_PORT: 5432
      DB_USER: wikijs
      DB_PASS: wikijsrocks
      DB_NAME: wiki
    restart: unless-stopped
    volumes:
      - ./backup:/opt/backup
    ports:
      - "80:3000"

volumes:
  db-data:
 

备份与还原

 
//备份
docker run --rm -it -v ~/volume-backup:/backup -v /var/lib/docker:/docker busybox tar cfz /backup/volume.tgz /docker/volumes/wikijs_db-data
//还原
docker run --rm -it -v /var/lib/docker:/docker -v ~/volume-backup/docker/volumes:/volume-backup busybox cp -rp /volume-backup/wikijs_db-data /docker/volumes
 

Tags: docker
评论(26) 阅读(791)

influxdb的docker-compose如何配置

2021年8月26日 06:27

 
influxdb的docker-compose如何配置
 

1. 新建数据目录

 
mkdir data-volumne
 

2. 生成配置文件

 
docker run --rm influxdb:2.0.8 influxd print-config > config.yml
 

3. docker-compose配置

 
docker-compose.yaml内容
 
version: "2"
services:
   influxdb:
       image: influxdb:2.0.8
       volumes:
           - ./data-volumne:/var/lib/influxdb2
           - ./config.yml:/etc/influxdb2/config.yml
           - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
       ports:
           - 8086:8086
       environment:
           DOCKER_INFLUXDB_INIT_MODE: setup
           DOCKER_INFLUXDB_INIT_USERNAME: my-user
           DOCKER_INFLUXDB_INIT_PASSWORD: my-password
           DOCKER_INFLUXDB_INIT_ORG: my-org
           DOCKER_INFLUXDB_INIT_BUCKET: my-bucket
 

4. 启动

 
docker-compose up
 

5. 目录结构如下

 
[root@localhost influxdb]# tree
.
├── config.yml
├── data-volumne
│   ├── engine
│   │   └── data
│   └── influxd.bolt
└── docker-compose.yaml
 
 

* 注意

 
上面修改influx时区无效,好像不能修改时区,默认都是UTC
 

Tags: influxdb docker
评论(25) 阅读(2029)

为jekyll制作docker镜像

2019年4月28日 10:08

说明

 
jekyll运行依赖ruby,每次重装都会遇到版本问题,挺麻烦,干脆做成镜像
 
 

官方镜像存在的问题

 
docker上有jekyll的官方镜像,如果是直接运行,没什么问题。
 
如果你挂载volume就会有权限问题
 
jekyll 3.8.5 | Error:  Permission denied @ dir_s_mkdir - /srv/jekyll/_site
 
 

Tags: jekyll docker
评论(326) 阅读(10806)

docker运行gunicorn看不到控制台输出

2019年4月06日 07:59

问题描述

 
项目做成了docker镜像, 以gunicorn命令运行, print输出为什么没有写到docker日志?
 
<!--more-->
 
* docker-compose文件如下
 
version: '2'
services:
  xxx.xxx:
    image: xxx:1.0
    volumes:
        - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
        - ./log/xxx:/var/log/xxx
        - ./xxx:/app
    ports:
      - "5000:5000"
    environment:
      - FLASK_ENV=development_wyq
    command: gunicorn --worker-class eventlet -w 1 xxx:app -b 0.0.0.0:5000      # print不写到控制台
    #command: gunicorn --worker-class eventlet -w 1 xxx:app -b 0.0.0.0:5000 --access-logfile -   #print写到控制台
 
 

解决方法

 
在命令上加上"--access-logfile -"
 
来源 
 
此生必看的科学实验-水知道答案
《了凡四训》详解之改过之法
印光大师十念法(胡小林主讲第1集)
精神病为什么治不好
百病之源
 

Tags: docker flask websocket gunicorn
评论(31) 阅读(6591)

uwsgi: option is ambiguous: http

2018年11月25日 15:08

 
 
从官网上下载的uwsgi包含所有的插件。其它来源的uwsgi可能被人改过了。例如,为了减小体积,会删除uwsgi不必要的插件。
 

环境

 
alpine中运行uwsgi
 
 

示例:启动uwsgi提供http访问接口,出现错误

 
#报错的原因就是这个uwsgi没有http插件
~ # uwsgi --http :9090  --plugins http,python3
[uWSGI] getting INI configuration from /app/uwsgi.ini
uwsgi: option is ambiguous: http
getopt_long() error
 

看看官网下载的uwsgi

 
 

解决办法

 
#查找
/app # apk search uwsgi |grep http
uwsgi-router_http-2.0.17-r0
uwsgi-http-2.0.17-r0

#安装
apk add uwsgi-http   uwsgi-router_http
 

来源

 
 

Tags: uwsgi docker
评论(1) 阅读(3078)

dnsmasq在docker中无应答

2018年10月01日 22:15

问题描述

制作了一个docker镜像,运行dnsmasq。域名解析竟然无应答, no servers cloud be reached
 
  • 发送请求解析域名
dig www.google.com @192.168.0.111 -p 53

; <<>> DiG 9.11.3-RedHat-9.11.3-4.fc27 <<>> www.google.com @192.168.0.111 -p 53
;; global options: +cmd
;; connection timed out; no servers could be reached
 
  • dnsmasq打印日志。从日志中发现缺少reply
[root@bogon ss]# docker-compose -f chinadns.yml up dns-dnsmasq

Starting ss_dns-dnsmasq_1 ... done
Attaching to ss_dns-dnsmasq_1
dns-dnsmasq_1   | dnsmasq: started, version 2.79 cachesize 150
dns-dnsmasq_1   | dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth no-DNSSEC loop-detect inotify
dns-dnsmasq_1   | dnsmasq: using nameserver 192.168.0.111#5354
dns-dnsmasq_1   | dnsmasq: read /etc/hosts - 7 addresses
dns-dnsmasq_1   | dnsmasq: query[A] www.google.com from 192.168.0.111
# 请求发送给了上游dns服务器,无后续reply。再去看上游dns服务器,发现已经解析出了ip
# 而dnsmasq还是无应答
dns-dnsmasq_1   | dnsmasq: forwarded www.google.com to 192.168.0.111
dns-dnsmasq_1   | dnsmasq: query[A] www.google.com from 192.168.0.111
dns-dnsmasq_1   | dnsmasq: forwarded www.google.com to 192.168.0.111
 

解决办法。

尝试了很多方法,很奇怪它为什么不能应答。dnsmasq也不大,放在宿主机上运行吧。
 
《了凡四训》详解之改过之法
印光大师十念法(胡小林主讲第1集)
百病之源

 

Tags: dnsmasq docker chinadns
评论(8) 阅读(2436)