目標は、ラップトップでDockerイメージを取得し、それをOpenShift Originイメージレジストリー(で開始oc cluster up
)にプッシュして、ローカル開発を実行できるようにすることです。私が何か間違ったことをしているのか、DockerまたはOpenShiftOriginにバグがあるのかは明確ではありません。OpenShift Originに慣れていない場合:
https://github.com/openshift/origin/blob/master/docs/cluster_up_down.md
任意の照明情報をいただければ幸いです。これが私がこれまでに試したことです:
# oc cluster up
Starting OpenShift using openshift/origin:v3.6.0 ...
OpenShift server started.
The server is accessible via web console at:
https://127.0.0.1:8443
You are logged in as:
User: developer
Password: <any value>
To login as administrator:
oc login -u system:admin
# docker container ls | fgrep origin-docker-registry
9de6bb0cdd28 openshift/origin-docker-registry "/bin/sh -c '/usr/..."
# docker inspect 9de6bb0cdd28 | fgrep DOCKER_REGISTRY_PORT
"DOCKER_REGISTRY_PORT_5000_TCP_PROTO=tcp",
"DOCKER_REGISTRY_PORT=tcp://172.30.1.1:5000",
"DOCKER_REGISTRY_PORT_5000_TCP_PORT=5000",
"DOCKER_REGISTRY_PORT_5000_TCP_ADDR=172.30.1.1",
"DOCKER_REGISTRY_PORT_5000_TCP=tcp://172.30.1.1:5000",
# oc whoami -t
qH2cTKtIpr1QB1dMw10ffiDGX1iH_uocrtXaFPyTei8
# docker login -u developer -p qH2cTKtIpr1QB1dMw10ffiDGX1iH_uocrtXaFPyTei8 172.30.1.1:5000
Login Succeeded
# docker tag alpine:latest 172.30.1.1:5000/alpine:latest
# docker push 172.30.1.1:5000/alpine:latest
The push refers to a repository [172.30.1.1:5000/alpine]
5bef08742407: Preparing
error parsing HTTP 400 response body: unexpected end of JSON input: ""
高山を走っても面白いものは何も得られないことを私は知っています。どの画像をプッシュしようとしても、結果は同じです。ログインは実際に機能しているようです。トークンの一部を削除または変更すると、ログインに失敗します。私が実行しているDockerのバージョン:
# docker version
Client:
Version: 17.06.0-ce
API version: 1.30
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 21:31:53 2017
OS/Arch: darwin/amd64
Server:
Version: 17.06.0-ce
API version: 1.30 (minimum version 1.12)
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 21:51:55 2017
OS/Arch: linux/amd64
Experimental: true
上記で指摘したGrahamのように、レジストリを公開することはできますが、必須ではありません。
内部IPを使用している場合、dockerpushコマンドdocker push 172.30.1.1:5000/alpine:latest
は正しくありません。いずれの場合も(外部ルートまたは内部IP)、イメージの名前空間と名前に基づいて、内部レジストリが適切なイメージストリームを作成します。イメージストリームの名前とその名前空間/プロジェクトは、プッシュから取得されます。つまり、画像に3つの要素をタグ付けする必要があります。
oc cluster up
myproject
デフォルトの名前空間の場合)あなたの場合、Dockerプッシュは次のようになりますdocker push 172.30.1.1:5000/myproject/alpine:latest
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加