无法运行本地docker映像

时间:2019-03-23 19:37:31

标签: docker eclipse-che

我无法运行Eclipse / Che本地映像。即从我PC中的eclipse / che源代码获取。

这是我尝试的步骤:

  1. 将eclipse / che src代码克隆到// d / checmd3 / che。

git clone https://github.com/eclipse/che.git& git checkout标签/7.0.0-beta-2.0

  1. 建立 cd assembly / assembly-main mvn全新安装

...新的装配体放置在:

cd che / assembly / assembly-main / target / eclipse-che- / eclipse-che-

  1. 在docker中运行

docker run -it --rm -v //var/run/docker.sock://var/run/docker.sock -v // d / checmd3 / che / assembly / assembly-main / target / eclipse -che-7.0.0-beta-2.0 / eclipse-che-7.0.0-beta-2.0 :/ che -e CHE_ASSEMBLY = // d / checmd3 / che / assembly / assembly-main / target / eclipse-che-7.0.0-beta-2.0 / eclipse-che-7.0.0-beta-2.0 -v // d / checmd3 / che / tmp:/ data eclipse / che start


在上面的步骤3之后,显示以下消息: 无法在本地找到图片“ eclipse / che:7.0.0-beta-2.0” 7.0.0-beta-2.0:从eclipse / che中抽出

我相信Docker是否不尝试从本地PC运行映像? 我不确定上面的步骤3是否是问题。请帮助我从我的PC中克隆的src代码运行图像。 (参考:https://github.com/eclipse/che/wiki/Development-Workflow

6 个答案:

答案 0 :(得分:0)

我不熟悉Eclipse Che,但是,看起来您可以简单地在假定已安装Docker的情况下在计算机上运行其映像。

首先创建一个本地数据目录,也许:

mkdir -p ${PWD}/che/data

然后:

docker run 
--interactive \
--tty \
--rm \
--net=host \
--volume=/var/run/docker.sock:/var/run/docker.sock \
--volume=${PWD}/che/data:/data \
eclipse/che:nightly start

https://www.eclipse.org/che/docs/che-6/docker-single-user.html

您可能不需要--net=host标志

然后您应该能够访问该工具:

http://localhost:8080

enter image description here

NB 您的步骤1&2(git clone...mvn clean install)可能是多余的。这些可能是构建Docker映像的命令。但是,由于该映像已经存在于dockerhub中,因此您无需执行以下步骤。

答案 1 :(得分:0)

尝试以下docker命令:

docker run -it --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /d/checmd3/che/assembly/assembly-main/target/eclipse-che-7.0.0-beta-2.0/eclipse-che-7.0.0-beta-2.0:/che \
-e CHE_ASSEMBLY='/d/checmd3/che/assembly/assembly-main/target/eclipse-che-7.0.0-beta-2.0/eclipse-che-7.0.0-beta-2.0' \
-v /d/checmd3/che/tmp:/data \
eclipse/che start

正在使用命令

INFO: (che init):   CHE_VERSION=7.0.0-beta-2.0
INFO: (che init):   CHE_CONFIG=/d/checmd3/che/tmp
INFO: (che init):   CHE_INSTANCE=/d/checmd3/che/tmp/instance
INFO: (che config): Generating che configuration...
INFO: (che config): Customizing docker-compose for running in a container
INFO: (che start): Preflight checks
         mem (1.5 GiB):           [OK]
         disk (100 MB):           [OK]
         port 8080 (http):        [AVAILABLE]
         conn (browser => ws):    [OK]
         conn (server => ws):     [OK]

INFO: (che start): Starting containers...
INFO: (che start): Services booting...
INFO: (che start): Server logs at "docker logs -f che"
INFO: (che start): Booted and reachable
INFO: (che start): Ver: 7.0.0-beta-2.0
INFO: (che start): Use: http://172.26.10.112:8080
INFO: (che start): API: http://172.26.10.112:8080/swagger

答案 2 :(得分:0)

谢谢。我尝试了以下docker命令:

docker run -it --rm -v //var/run/docker.sock://var/run/docker.sock -v // d / checmd3 / che / assembly / assembly-main / target / eclipse -che-7.0.0-beta-2.0 / eclipse-che-7.0.0-beta-2.0 :/ che -e CHE_ASSEMBLY ='// d / checmd3 / che / assembly / assembly-main / target / eclipse-che-7.0.0-beta-2.0 / eclipse-che-7.0.0-beta-2.0'-v // d / checmd3 / che / tmp:/ data eclipse / che start

但是,仍然显示的消息是:

无法在本地找到图像“ eclipse / che:latest”

最新:从日食/ che中拉出

(docker仍未使用我的PC本地构建的源代码)

答案 3 :(得分:0)

如果要运行自定义Che二进制文件,则使用的语法是正确的语法。无论如何,Che CLI都会拉默认映像,但是您的二进制文件将被安装到容器中。那对你有用吗?

如果出于某种原因要运行自己的映像,则只需将以下env传递给CLI。

-e IMAGE_CHE=myRegistry/myRepo:myTag

答案 4 :(得分:0)

您可以首先尝试通过在 che.env 配置文件中设置#include <config.hpp>来防止Eclipse Che从Docker集线器中提取映像。

如果这没有帮助,那么我认为您需要安装并运行本地Docker注册表,然后将您在本地构建的Eclipse Che映像推送到该注册表。

CHE_DOCKER_ALWAYS__PULL__IMAGE=false

然后,您可以使用Docker run命令拉并运行映像。

您可以通过以下方式停止注册表:

docker run -d -p 5000:5000 --name registry registry:2
docker image tag che:7.0.0-beta-2.0 eclipse/che:7.0.0-beta-2.0
docker push eclipse/che:7.0.0-beta-2.0

答案 5 :(得分:0)

当我运行您建议的命令时出现错误:

$ docker run --interactive --tty --rm --net = host --volume = // var / run / docker.sock://var/run/docker.sock --volume = / $ { PWD} / che / data:/ data eclipse / che:每晚开始

以下是日志:

无法在本地找到图像“ eclipse / che:latest” 最新:从日食/ che拉 d6a5679aa3cf:拉完整 cc87d3e420c3:拉出完成 afef80a99ec8:提取完成 d4be2f254bed:拉出完成 3e449e5a7821:拉出完成 5b621c46cfe0:拉出完成 ecdf06277042:拉出完成 dcbe7590a8ca:拉出完成 摘要:sha256:bd853bd40a4fafe73153dda478f1191d3d29447f3d110584933a5fb22e8cb199 状态:已下载较新的日食图像/ che:latest 错误:没有这样的图像或容器:linuxkit-00155d19290d

昨天我没有收到linuxkit错误:-(