crontab -e
,里面写入下面的内容,即可执行
* * * * * cd /www/docker && /usr/local/bin/docker-compose exec -T golang /www/golang/fec-go-shell >> /www/docker.log 2>&1
解读
* * * * *
:这个是定时的周期部分
1.需要进入你的yml所在的目录,也就是cd /www/docker
2.docker-compose需要使用绝对路径,也就是/usr/local/bin/docker-compose
3.参数 -T
需要加上,不然会报错:
Traceback (most recent call last):
File "<string>", line 3, in <module>
File "compose/cli/main.py", line 57, in main
File "compose/cli/main.py", line 108, in perform_command
File "compose/cli/main.py", line 353, in exec_command
File ".tox/py27/lib/python2.7/site-packages/dockerpty/pty.py", line 338, in start
File ".tox/py27/lib/python2.7/site-packages/dockerpty/io.py", line 32, in set_blocking
ValueError: file descriptor cannot be a negative integer (-1)
docker-compose returned -1
4.golang
是容器的名字
5./www/golang/fec-go-shell
执行的容器的脚本
6./www/docker.log 2
:写入宿主主机的log文件
资料:https://github.com/docker/compose/issues/3352