为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
评论(0) 阅读(877)

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
评论(0) 阅读(1300)

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
评论(0) 阅读(320)

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
评论(0) 阅读(461)