我无法运行Eclipse / Che本地映像。即从我PC中的eclipse / che源代码获取。
这是我尝试的步骤:
git clone https://github.com/eclipse/che.git& git checkout标签/7.0.0-beta-2.0
...新的装配体放置在:
cd che / assembly / assembly-main / target / eclipse-che- / eclipse-che-
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)
答案 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
标志
然后您应该能够访问该工具:
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错误:-(