2

将 Openshift 用作容器即服务很容易,请参阅详细步骤。因此,通过 docker 客户端,我可以使用 Openshift。

我想用 Minishift 在我的笔记本电脑上工作。这是您笔记本电脑上的本地版本的 Openshift。

我应该将哪个 docker 注册表与 Minishift 结合使用?Minishift 没有自己的注册表——我猜。

所以,我想做:

$ maven clean install -- building the application
$ oc login to your minishift environment
$ docker build -t myproject/mynewapplication:latest
$ docker tag -- ?? normally to a openshift docker registry entry
$ docker push -- ?? to a local docker registry?
$ on 1st time: $ oc new-app mynewapplication
$ on updates: $ oc rollout latest dc/mynewapplication-n myproject
4

2 回答 2

7

我只使用 docker,oc cluster up这非常相似。部署的内部注册中心在 172.30.0.0/16 空间(即默认服务网络)中有一个地址。

$ oc login -u system:admin
$ oc get svc -n default  | grep registry
docker-registry   ClusterIP   172.30.1.1     <none>        5000/TCP                  14m

现在,此服务 IP 在集群内部,但可以在路由器上公开:

$oc expose svc docker-registry -n default
$oc get route -n default  | grep registry
docker-registry   docker-registry-default.127.0.0.1.nip.io             docker-registry   5000-tcp                 None

在我的示例中,路线是docker-registry-default.127.0.0.1.nip.io

使用此路由,您可以使用您的开发者帐户和您的令牌登录

$oc login -u developer
$docker login docker-registry-default.127.0.0.1.nip.io -p $(oc whoami -t) -u developer
Login Succeeded

注意:oc cluster up默认是短暂的;文档可以提供有关如何使此设置持久化的说明。

另一个注意事项是,如果您希望 OpenShift 尝试使用它的一些本地构建器,您可以简单地oc new-app . --name <appname>从源代码目录中运行。

$ cat Dockerfile 
FROM centos:latest

$ oc new-app . --name=app1
--> Found Docker image 49f7960 (5 days old) from Docker Hub for "centos:latest"

    * An image stream will be created as "centos:latest" that will track the source image
    * A Docker build using binary input will be created
      * The resulting image will be pushed to image stream "app1:latest"
      * A binary build was created, use 'start-build --from-dir' to trigger a new build
    * This image will be deployed in deployment config "app1"
    * The image does not expose any ports - if you want to load balance or send traffic to this component
      you will need to create a service with 'expose dc/app1 --port=[port]' later
    * WARNING: Image "centos:latest" runs as the 'root' user which may not be permitted by your cluster administrator

--> Creating resources ...
    imagestream "centos" created
    imagestream "app1" created
    buildconfig "app1" created
    deploymentconfig "app1" created
--> Success
    Build scheduled, use 'oc logs -f bc/app1' to track its progress.
    Run 'oc status' to view your app.
于 2018-06-09T23:55:25.997 回答
1

有一个内部图像注册表。您登录它并按照您的建议推送图像。您只需要知道地址和所需的凭据。详情见:

于 2018-06-09T21:13:50.070 回答