Tag: openshift起源

无法在minishift中访问正在运行的Docker镜像(使用tomcat) – OpenShift-Origin

我编写了一个简单的Java-Spring MVC War文件的Docker镜像,(下面的Dockerconfiguration)。 我能够运行使用docker运行命令,也没有看到日志中的任何错误或麻烦上传到Openshift-minishift内部registry的战争。 我能够在我的Openshift-minishift控制台中拉出图像。 #Docker Config FROM tomcat:8.0.20-jre8 MAINTAINER ashok.gudise@github ENV CATALINA_HOME /usr/local/tomcat ENV PATH $CATALINA_HOME/bin:$PATH RUN mkdir -p "$CATALINA_HOME" WORKDIR $CATALINA_HOME RUN chgrp -R 0 $CATALINA_HOME RUN chmod -R g+rw $CATALINA_HOME RUN find $CATALINA_HOME -type d -exec chmod g+x {} + #RUN mkdir $CATALINA_HOME/app_conf #ADD config $CATALINA_HOME/app_conf/ COPY build/libs/distributed-app-1.0.war $CATALINA_HOME/webapps/ #RUN sed -i […]

如何通过REST端点在openshift中configuration应用程序?

我们使用openshift来部署我们的dockerized Java EE应用程序。 这个应用程序公开了我们用来configuration服务的REST端点(一些标准的事情,如轮询intervalls,其他端点查询数据,默认语言,…)。 到目前为止,我们通过运行第二个包含configuration数据的容器来configuration这个应用程序,并运行curl将这个configuration数据推送到应用程序的容器,这完全正常工作,即使用docker-compose或ansible,我们只需等待应用程序启动,我们运行configuration容器。 现在我们打算使用openshift,并且我不知何故错过了CLI上的这个依赖定义function,导致configuration容器在应用程序容器准备好接收configuration之前启动。 我的意思是在某个时候应用程序已经准备就绪,然后configuration被推送到那里,但是我想在configuration过程结束后停止configuration容器。 所以问题是如何处理这种情况。 这两个容器方法最终是否有效(我的意思是我们要分开两个进程,这就是为什么我们有他们)或者我们应该添加configuration到应用程序容器? 达到这个目标的最佳做法是什么?

在OpenShift上Spring Bean注入失败

我在Spring Boot应用程序中添加了一个Spring Messaging的新Spring集成configuration。 应用程序在我的MAC上正确部署和运行。 但是,当部署到OpenShift(使用OpenJDK)或Docker运行时部署失败,并出现以下错误: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.messaging.MessageChannel' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Qualifier(value=ftpChannel)} 下面是代码失败的一个简化的版本以相同的错误: import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.messaging.MessageChannel; import org.springframework.stereotype.Service; @Service public class FtpService { private final MessageChannel ftpClientInboundChannel; public FtpService(@Qualifier("ftpChannel") MessageChannel […]

Openshift不会将Docker容器文件复制到持久性卷

我已经创build了一个Dockerfile,在biserver-ce / pentaho-solutions / system /目录下创build一个Pentaho docker镜像和一个持久化卷(使用VOLUME指令)。 在本地运行Pentaho Docker容器时,该目录中包含的所有文件都存在,并且持久性(添加插件,项目文件等)工作正常。 我已经给Pentaho的openshift模板提供了一个持久性卷到相同的目录,但是当创build一个实例时,分配的持久性卷是空的,没有任何东西从容器图像被复制,正如我所期待的那样。 有没有办法通过Openshift做到这一点,而不必从本地docker容器导出和复制整个目录?

OpenShift错误创build:pods“pod-name”被禁止:未find服务帐户

我正在尝试使用以下说明部署红帽单一login容器: https : //access.redhat.com/documentation/en-us/red_hat_jboss_middleware_for_openshift/3/html/red_hat_jboss_sso_for_openshift/get_started 。 但是,当我部署容器时,出现错误“创build错误:pod”sso-1-“被禁止:未find服务帐户项目名称/ sso-service-account,在创build服务帐户后重试。 重现问题的步骤: 在OpenShift Web GUI中,创build名为project-name 在OpenShift Master上,创buildSSL密钥库: keytool -genkeypair -alias keystore -keyalg RSA -keystore keystore.jks -storepass password 在OpenShift Master上,创buildJGroups密钥库: keytool -genkeypair -alias jgroups -keyalg RSA -keystore jgroups.jceks -storepass password 在OpenShift Master上,为RH-SSO oc create secret generic sso-app-secret –from-file=keystore.jks –from-file=jgroups.jceks : oc create secret generic sso-app-secret –from-file=keystore.jks –from-file=jgroups.jceks 在OpenShift Master上,创buildSSO服务帐户: oc […]

Docker Openshift安全单向路由

当我将一个Docker镜像部署到Openshift V3时,是否可以添加一个单向的路由? 即我可以做一条路线,只允许请求我的docker图像,并不允许docker图像发起请求。 这个想法是我希望能够保证一个可能恶意的docker镜像不能在aPaaS环境中调用其他mircoservices。

如何从远程私人registry中将新的docker镜像拉到openshift群集节点上?

在https://blog.openshift.com/remotely-push-pull-container-images-openshift/ (和其他来源)中指定的所有步骤在主服务器上完美工作,但它不能帮助我从节点拉。 细节: 在master和两个节点上login到registry:docker login https://my.registry:5000 在master上创build新的秘密: oc secrets new my.registry .dockerconfigjson = / root / .docker / config.json (节点上不能这样做,因为它们没有oc实用程序) 在我目前的项目中为默认帐户添加了秘密: oc secrets add serviceaccount / default secrets / my.registry –for = pull 现在,当我进行新的部署时,在主服务器上创build的Pod将启动得非常好(主服务器将能够提取所需的图像),但是节点上的Pod将无法启动,除非使用Docker拉手动拖动它们。 那么我怎样才能使我的openshift(起源)集群的所有节点与指定的默认帐户拉图像?

openshift内部dockerregistryrepo地址是不相同的dockerregistry服务集群ip

我在我的一个集群主服务器中的步骤:创build路由器: # oadm router ose-router –replicas=1 –credentials='/etc/origin/master/openshift-router.kubeconfig' –images='openshift-register.com.cn:5000/openshift3/ose-${component}:v3.4' –service-account=router 创builddockerregistry: # oadm registry –config=/etc/origin/master/admin.kubeconfig –service-account=registry –images='openshift-register.com.cn:5000/openshift3/ose-${component}:v3.4' 路由器和registry已成功创build,我们可以看到docker-registry cluster-IP地址是172.30.182.170: # oc get svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE docker-registry 172.30.182.170 <none> 5000/TCP 22s kubernetes 172.30.0.1 <none> 443/TCP,53/UDP,53/TCP 6d ose-router 172.30.80.196 <none> 80/TCP,443/TCP,1936/TCP 1m 查询命名空间openshift中的iamge词根,Docker repo IP是172.30.137.159: # oc get is -n openshift NAME DOCKER REPO TAGS […]

离线openshift安装Zookeeper

我有一个在3 Centos 7 vm上离线运行的Openshift Origin群集。 它工作正常,我有一个registry,我推我的图像是这样的: docker login -u <username> -e <any_email_address> -p <token_value> <registry_ip>:<port> login成功,然后: oc tag <image-id> <docker-registry-IP>:<port>/<project-name>/<image> 所以,对于nginx来说,例如: oc tag 49011ce3b713 172.30.222.111:5000/test/nginx 然后我把它推到内部registry中: docker push 172.30.222.111:5000/test/nginx 最后: oc new-app nginx –name="nginx" 用nginx,一切正常,现在我的问题是: 实际上我想把Zookeeper放在它上面,所以:我做了和上面相同的步骤,我也安装了Zookeeper依赖的“jboss / base-jdk:7”,问题是: docker push 172.30.222.111:5000/test/jboss/base-jdk:7 给: [root@master 994089]# docker push 172.30.222.111:5000/test/jboss/base-jdk:7 The push refers to a repository [172.30.222.111:5000/test/jboss/base-jdk] c4c6a9114a05: […]

openshift v3 sed无法打开临时文件

嗨,我试图部署我的docker图像openshift在线V3,但失败的消息 sed:无法打开临时文件/etc/php/7.0/apache2/sedJpqwn4:权限被拒绝 我的docker图像包含sed脚本 RUN sed -i '/<Directory \/var\/www\/>/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf 我是openshift和docker的新手如何解决这个问题?