无法访问http:// ip:8443上的OpenShift控制台

lvt*_*llo 6 localhost docker openshift-origin centos7

我在CentOS7上安装了OpenShift版本3.我按照官方文档:https: //docs.openshift.org/latest/admin_guide/install/prerequisites.html#configuring-docker-storage

方法1(Docker):https: //docs.openshift.org/latest/getting_started/administrators.html#installation-methods

我选择在Docker Container中安装OpenShift.我必须做的最后一个命令就是这个:我使用Docker Hub中的图像在Docker容器中启动服务器:

$ docker run -d --name "openshift-origin" --net=host --privileged \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp/openshift:/tmp/openshift \
openshift/origin start
Run Code Online (Sandbox Code Playgroud)

这个命令:

  • 启动OpenShift监听所有接口(0.0.0.0:8443),

  • 启动web控制台监听所有接口(0.0.0.0:8443),

  • 启动一个etcd服务器来存储持久数据,和

  • 推出Kubernetes系统组件.

    $ sudo docker ps
    
    CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
    
    d3f023085328        openshift/origin    "/usr/bin/openshift    2 days ago          Up 2 days                               openshift-origin
    
    Run Code Online (Sandbox Code Playgroud)

现在我能做到:

$ sudo docker exec -it openshift-origin bash
Run Code Online (Sandbox Code Playgroud)

所以我可以在我的容器中访问openshift.我可以创建项目和应用程序,但构建状态始终处于待定状态.我无法访问https://publicip:8443/console.有人可以帮帮我吗?OpenShift页面加载一秒钟(当我要去http:// publicip:8443时),但是我得到一个redirect_url到10.0.0.x:8443.我的master-config看起来像这样:https://github.com/openshift/origin/blob/master/test/old-start-configs/v1.0.0/config/openshift.local.config/master/master-config. yaml.我需要改变什么?

网址: https://10.0.0.x:8443/oauth/authorize?client_id=openshift-web-console&response_type=token&state=%2F&redirect_uri=https%3A%2F%2F10.0.0.x%3A8443%2Fconsole%2Foauth

编辑:

docker run -d --name "origin" \
        --privileged --pid=host --net=host \
        -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys -v /var/lib/docker:/var/lib/docker:rw \
        -v /var/lib/origin/openshift.local.volumes:/var/lib/origin/openshift.local.volumes \
        openshift/origin start
Run Code Online (Sandbox Code Playgroud)

Emi*_*anu 0

也许我错了,但是为了能够使用主机的ip连接到端口8443上的容器,您需要在主机上发布此端口。这可以在 docker run 命令中添加参数 -p 8443:8443 来完成

请参阅https://docs.docker.com/reference/commandline/run/