我的Dockerfile位于src/myapp
文件夹的根目录中,myapp
包含myapp.go
在主包中。
Dockerfile
看起来如下:
FROM golang:1.9.2
ADD . /
RUN go build myapp;
ENTRYPOINT ["/go/bin/myapp"]
我收到以下错误:
can't load package: package myapp: cannot find package "myapp" in any of:
/usr/local/go/src/myapp (from $GOROOT)
/go/src/myapp (from $GOPATH)
我究竟做错了什么?ls
码头工人完成后可以登录命令ADD
吗?
您正在将所有文件复制到Image根目录,未安装任何依赖项,尝试构建它,然后从运行二进制文件/go/bin/app
。该目录中不存在二进制文件,并且正在生成错误。
我建议使用这样的Dockerfile,
FROM golang:1.9.2
ADD . /go/src/myapp
WORKDIR /go/src/myapp
RUN go get myapp
RUN go install
ENTRYPOINT ["/go/bin/myapp"]
这将执行以下操作。
/go/src/myapp
。/go/src/myapp
。您可以使用运行ls
命令或任何其他命令docker exec
。
例:
docker exec <image name/hash> ls
您还可以在生成的图像中输入外壳以使用
docker run --rm -it <image hash/name> /bin/sh
问题内容: 我有一个Jenkins作为docker容器运行,现在我想使用管道构建Docker映像,但是Jenkins容器总是告诉未找到Docker。 这是我运行詹金斯图像的方式: Jenkins映像的DockerFile是:https : //github.com/jenkinsci/docker/blob/9f29488b77c2005bbbc5c936d47e697689f8ef6e/Dock
使用Fabric-Client(成功)打包go文件 创建安装建议并将其发送到对等方(成功 创建和实例化建议并将其发送到对等方(失败,出现上述错误消息) 解决问题的步骤 我试图通过读取代码来断言chaincode容器创建过程是如何工作的。我从中得到了以下内容: -chaincode是使用fabric-ccenv映像构建的 -它加载一个。tar作为Inputstream(包?) 我试图将文件添加到go
我正在尝试在docker文件上构建我的go应用程序。在我的内心深处。mod有一个需要身份验证/ssh的私有包。这个问题类似于在Docker中使用私有模块构建Go应用程序,但在我的情况下,我必须从而不是中提取包。这是我的dockerfile: 我试图按照这个教程https://divan.dev/posts/go_get_private/,通过更改到仍然失败。 以下是错误详细信息: 这里有人知道如何
问题内容: 我正在尝试使用我的go应用程序创建一个docker映像。该应用程序(在MacOS上开发)取决于哪个,而又取决于我在Docker映像中安装的对象,如下所示: 我收到以下错误: 我/app/folder/vendor/github.com/confluentinc/confluent-kafka-go/kafka ../folder/vendor/github.com/confluenti
我有一个Jenkins作为docker容器运行,现在我想使用管道构建docker映像,但Jenkins容器总是告诉docker not found。 以下是我如何运行我的詹金斯形象: Jenkins图像的DockerFile是:https://github.com/jenkinsci/docker/blob/9f29488b77c2005bbbc5c936d47e697689f8ef6e/Dock
工具 工欲善其事,必先利其器。笔者经过调研,有以下几款Docker的Maven插件进入笔者视野: 插件名称 官方地址 docker-maven-plugin https://github.com/spotify/docker-maven-plugin docker-maven-plugin https://github.com/fabric8io/docker-maven-plugin docke