golang version <1.5 - 有很多静态链接示例,帖子和食谱.> = 1.5怎么样?(谷歌搜索没有返回我的搜索条件的有用结果.)任何人有任何关于如何生成可以在基本rkt(来自CoreOS)容器内执行的静态链接二进制文件的建议?
我走了:
$go version
go version go1.5 linux/amd64
Run Code Online (Sandbox Code Playgroud)
当我尝试运行我的容器时:
sudo rkt --insecure-skip-verify run /tmp/FastBonusReport.aci
Run Code Online (Sandbox Code Playgroud)
我明白了:
[38049.477658] FastBonusReport[4]: Error: Unable to open "/lib64/ld-linux-x86-64.so.2": No such file or directory
Run Code Online (Sandbox Code Playgroud)
建议容器中的可执行文件依赖于此lib,因此不是静态的.
我的清单看起来像:
cat <<EOF > /tmp/${myapp}/manifest
{
"acKind": "ImageManifest",
"acVersion": "0.9.0",
"name": "${lowermyapp}",
"labels": [
{"name": "os", "value": "linux"},
{"name": "arch", "value": "amd64"}
],
"app": {
"exec": [
"/bin/${myapp}"
],
"user": "0",
"group": "0"
}
}
EOF
Run Code Online (Sandbox Code Playgroud)
我的命令行来构建二进制文件看起来像:
go build ${myapp}.go
Run Code Online (Sandbox Code Playgroud)
这是我的Dockerfile.
FROM ubuntu
MAINTAINER me <my@email.com>
RUN apt-get update && apt-get install -y \
build-essential \
curl \
git \
make
# Get and compile go
RUN curl -s https://go.googlecode.com/files/go1.2.1.src.tar.gz | tar -v -C /usr/local -xz
RUN cd /usr/local/go/src && ./make.bash --no-clean 2>&1
ENV PATH /usr/local/go/bin:/go/bin:$PATH
ENV GOPATH /go
RUN go get github.com/gorilla/feeds
WORKDIR /go
CMD go version && go install feed && feed
Run Code Online (Sandbox Code Playgroud)
它构建得很好:
sudo docker build -t ubuntu-go .
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,我得到一个包错误:
sudo docker run -v /home/rbucker/go:/go --name go ubuntu-go …Run Code Online (Sandbox Code Playgroud) 我正在使用 CoreOS 和 SystemD 计时器来运行我的报告......
我有某些监控报告需要在接下来的 12 小时内每 3 小时运行一次,每半小时运行一次。如果我想在 1230 醒来以停止报告,那么实现起来非常简单。
systemd 计时器中是否有“终止计时器”选项或类似的选项>
我正在构建一个无头软件电话应用程序。我知道我可以使用给定的工具构建wss或Web服务器...但是我的Web应用程序需要使用主机的扬声器和麦克风来进行一些pjsip和其他编解码器操作。这些设备是否在Mac / Windows / Linux主机和Docker容器之间共享?
我完全意识到CoreOS主要是不可变的,所以在用户空间中没有安装任何东西.对于99%的用例,我同意.当我需要完成一些实际的工作时,我正在使用CoreOS /工具箱,但我还需要稍微更新用户环境,以便我可以正确地使用Docker-ify我的开发环境.
给定一个具有多个模块的工作erlang项目...想要热插拔多个相关模块...是同步(全部或全部)的新模块的过渡,或者它们是一次安装一个......这样任何在飞行中的交易可能有一个不可预测的结果.
例如:
我在生产中有两个模块... foo和bar.这样foo和bar之间存在依赖关系......代码的执行从foo移动到bar.现在我有foo和bar的更新,我想同时替换它们.这样我不希望事件在foo(1)和bar(2),或foo(2)和bar(1)上执行.
在SQL上下文中,这将被称为事务.
我有两种基于第三方代码的结构类型,我无法更改
type AddEvent struct {
}
type DeleteEvent struct {
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个以字符串为键、以对象为值的映射,因此每次收到新事件时,我都会将其添加到映射中,IE 映射应如下所示:
EventMap:
event1,AddEvent{}
event2,AddEvent{}
event2,DeleteEvent{}
Run Code Online (Sandbox Code Playgroud)
AddEvent 和DeleteEvent 未定义为接口的问题。
有没有办法使用任何结构作为值在 go 中创建通用映射,如果是的话,我如何读取它,我是否需要使用反射检查类型
I.E
event:=EventMap[event1]
if reflect.TypeOf(event)==AddEvent{
}else if reflect.TypeOf(event)==DeleteEvent{
}
Run Code Online (Sandbox Code Playgroud)