【发布时间】:2017-04-25 13:45:15
【问题描述】:
首先感谢任何帮助
我想在容器中执行 Gocode:
FROM index.tenxcloud.com/tenxcloud/centos:centos7
ADD ./ping-app /wls/applications/ping-app
RUN yum install -y gcc libxml2-devel libxslt-devel && ldconfig
RUN yum install -y openssh-server net-tools telnet
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN mkdir -p /wls/logs/ && touch /wls/logs/ping-app.log
ADD run.sh /run.sh
CMD ["/run.sh"]
但是当我尝试在容器中执行时,出现以下错误:
[root@ping-app-3618687774-abqmo ping-app]# go run main.go
start check_server
INFO[0000] http.startHttpServer ok, listening 0.0.0.0:8080 source="api.go:106"
INFO[0000] Index=ipdata exists=true source="elastic.go:164"
INFO[0000] Index=ipdata Type=entity exists=true source="elastic.go:184"
fork/exec : no such file or directory
fork/exec : no such file or directory
fork/exec : no such file or directory
fork/exec : no such file or directory
fork/exec : no such file or directory
fork/exec : no such file or directory
fork/exec : no such file or directory
fork/exec : no such file or directory
我不明白为什么会这样,它只发生在 docker 中,但是当我在主机上运行该 Gocode 时,一切正常。
Environment :
Centos: 7.0.1406
Kubernetes: 1.2.0
docker: 1.10.3
非常感谢您的任何建议。
【问题讨论】:
-
是“Gocode”和应用还是一个包?你在做什么?
-
span class="comcopy">sorry,这是一个go写的app,程序使用goroutine区间从elasticsearch获取IP信息,然后放入redis,另一个routine从redis获取ip并ping
为它不断 -
显示 Dockerfile 和
docker run命令 -
FROM index.tenxcloud.com/tenxcloud/centos:centos7 ADD ./ping-app /wls/applications/ping-app RUN yum install -y gcc libxml2-devel libxslt-devel && ldconfig RUN yum install -y openssh-server net-tools telnet RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN mkdir -p /wls/logs/ && touch /wls/logs/ping-app.log ADD run.sh /run.sh CMD ["/run.sh"] -
感谢您的帮助。我使用 kubernetes 来管理我的容器,
docker run命令是/run.sh
标签: go docker kubernetes