~> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ae85091e7ad openshift/origin:beta1 "/usr/bin/openshift 2 minutes ago Up 2 minutes openshift-origin
通過獲取Pod列表來確認注冊表正在運行: [root@boot2docker origin]# osc get pods
POD IP CONTAINER(S) IMAGE(S) HOST LABELS STATUS
docker-registry-1-gfkbz 172.17.0.14 registry-container openshift/docker-registry boot2docker/127.0.0.1 deployment=docker-registry-1,deploymentconfig=docker-registry,name=registrypod,template=docker-registry-template Running
在OpenShift v3容器中使用github.com/openshift/origin/blob/master/examples/sample-app/project.json中的project.json并創建一個測試項目,如下所示: [root@boot2docker origin]# osc create -f /workspaces/openshift/origin/examples/sample-app/project.json
test
現在刷新Web控制臺將顯示:
單擊“ OpenShift 3 Sample”將顯示一個空的項目描述:
請求創建應用程序模板: [root@boot2docker openshift]# cd javaee7-hol/
[root@boot2docker javaee7-hol]# osc process -n test -f application-template-jeebuild.json | osc create -n test -f -
frontend
origin-jee-sample
wildfly-8-centos
jee-sample-build
frontend
mysql
database
Web控制臺自動刷新并顯示:
正在運行的服務列表可以看成是:
建立項目
觸發項目的初始構建: [root@boot2docker javaee7-hol]# osc start-build -n test jee-sample-build
cee73fbc-b32d-11e4-a0f2-5282784576db
監視構建并等待狀態變為“完成”(這可能需要幾分鐘): [root@boot2docker javaee7-hol]# osc get -n test builds
NAME TYPE STATUS POD
cee73fbc-b32d-11e4-a0f2-5282784576db STI Running build-cee73fbc-b32d-11e4-a0f2-5282784576db
您可以添加–watch標志以等待更新,直到構建完成:
[root@boot2docker javaee7-hol]# osc get -n test builds --watch
NAME TYPE STATUS POD
cee73fbc-b32d-11e4-a0f2-5282784576db STI Running build-cee73fbc-b32d-11e4-a0f2-5282784576db
NAME TYPE STATUS POD
cee73fbc-b32d-11e4-a0f2-5282784576db STI Complete build-cee73fbc-b32d-11e4-a0f2-5282784576db
等待STATUS欄顯示Complete 。 設置所有組件(WIldFly,MySQL,Java EE 7應用程序)將花費幾分鐘。 實際上,將創建它們的新Docker映像并將其推送到較早啟動的本地注冊表中。
狀態更改為Complete后, Ctrl+C停止監視構建。
構建的完整日志可以看成是: [root@boot2docker javaee7-hol]# osc build-logs -n test cee73fbc-b32d-11e4-a0f2-5282784576db
2015-02-13T03:10:07.065718606Z Cloning into '/tmp/sti552730161/upload/src'...
2015-02-13T03:11:03.184576532Z I0213 03:11:03.184326 1 build.go:160] Successfully built 172.30.17.142:5001/test/origin-jee-sample
2015-02-13T03:11:07.261489310Z The push refers to a repository [172.30.17.142:5001/test/origin-jee-sample] (len: 1)
2015-02-13T03:11:07.261489310Z Sending image list
2015-02-13T03:11:07.275256699Z Pushing repository 172.30.17.142:5001/test/origin-jee-sample (1 tags)
2015-02-13T03:11:07.307836081Z Pushing
Buffering to disk07.314345045Z Buffering to disk 1.024 kB
2015-02-13T03:11:07.315452728Z Buffering to disk
Pushing-13T03:11:07.323973430Z Pushing [=========================> ] 512 B/1.024 kB 0. . .Pushing-13T03:13:05.932725921Z Pushing [================================================> ] 6.56 MB/6.704 MB 0
Pushing-13T03:13:05.942989165Z Pushing [=================================================> ] 6.635 MB/6.704 MB 0
Pushing-13T03:13:05.943025109Z Pushing [=================================================> ] 6.702 MB/6.704 MB 0
Pushing-13T03:13:05.947665528Z Pushing [==================================================>] 6.704 MB/6.704 MB
2015-02-13T03:13:05.953476634Z Image successfully pushed
2015-02-13T03:13:05.953476634Z Pushing tag for rev [b0a7868377c1] on {http://172.30.17.142:5001/v1/repositories/test/origin-jee-sample/tags/latest}
檢查要啟動的應用程序容器: [root@boot2docker javaee7-hol]# osc get -n test pods
POD IP CONTAINER(S) IMAGE(S) HOST LABELS STATUS
build-cee73fbc-b32d-11e4-a0f2-5282784576db 172.17.0.17 sti-build openshift/origin-sti-builder:v0.3 boot2docker/127.0.0.1 <none> Succeeded
database-1-axe6d 172.17.0.16 jee-database mysql boot2docker/127.0.0.1 deployment=database-1,deploymentconfig=database,name=database,template=jee-sample Running
frontend-1-pkcia 172.17.0.20 jee-sample 172.30.17.142:5001/test/origin-jee-sample:b0a7868377c10a50b40019be70e22d040b9a2bb2d87fa3932b700494e50a4de6 boot2docker/127.0.0.1 deployment=frontend-1,deploymentconfig=frontend,name=frontend,template=jee-sample Running
請注意,“前端”和“數據庫”窗格現在正在運行。
確定“前端”服務的IP: [root@boot2docker javaee7-hol]# osc get -n test services
NAME LABELS SELECTOR IP PORT
frontend template=jee-sample name=frontend 172.30.17.115 8080
mysql template=jee-sample name=database 172.30.17.75 3306
通過http:// <“前端”的IP地址>:8080 / movieplex7-1.0-SNAPSHOT可以訪問應用程序。 請注意,IP地址可能(很可能會)有所不同。 在這種情況下,它將是http://172.30.17.115:8080/moviexplex7-1.0-SNAPSHOT。由于將OpenShift v3用作Docker容器時,在Mac上配置防火墻,需要進一步調試才能配置該應用程序。 在弄清楚這一點之前,您可以在boot2docker VM中執行docker docker ps以查看所有容器的列表: origin> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c776cabb72f8 172.30.17.17:5001/test/origin-jee-sample:91d1b5a5ed58e1642aafbd652eba0b7eae3a0ac08c17729d205ae88204f64449 "/tmp/scripts/run" 2 hours ago Up 2 hours k8s_jee-sample.7af25557_frontend-2-9ciae.test.api_12a0d77e-b3b5-11e4-81f6-5282784576db_53f91f55
e7f87112c473 openshift/origin-pod:beta1 "/pod" 2 hours ago Up 2 hours k8s_POD.9cbfdefa_frontend-2-9ciae.test.api_12a0d77e-b3b5-11e4-81f6-5282784576db_64263b61
7e7579db5f82 openshift/origin-pod:beta1 "/pod" 2 hours ago Up 2 hours k8s_POD.123cbdd6_build-e075047d-b3b4-11e4-81f6-5282784576db.test.api_e07bcdb2-b3b4-11e4-81f6-5282784576db_376c0e63
74082d7791ec openshift/origin-pod:beta1 "/pod" 2 hours ago Up 2 hours k8s_POD.123cbdd6_build-76364bb6-b3b2-11e4-81f6-5282784576db.test.api_7639e3a5-b3b2-11e4-81f6-5282784576db_f653c7fd
3e42dacb0da7 mysql:latest "/entrypoint.sh mysq 3 hours ago Up 3 hours k8s_jee-database.f12628ae_database-1-bqg8v.test.api_56093bac-b3b2-11e4-81f6-5282784576db_193dddf7
cb551c8cf7bf openshift/origin-pod:beta1 "/pod" 3 hours ago Up 3 hours k8s_POD.95f2def6_database-1-bqg8v.test.api_56093bac-b3b2-11e4-81f6-5282784576db_295fc320
e8719152df42 openshift/docker-registry:latest "\"sh -c 'echo \"$OP 3 hours ago Up 3 hours k8s_registry-container.4e338487_docker-registry-1-bt49s.default.api_177a691c-b3b0-11e4-81f6-5282784576db_a6f4f83b
d3ecc5841c3b openshift/origin-pod:beta1 "/pod" 3 hours ago Up 3 hours k8s_POD.8a29deef_docker-registry-1-bt49s.default.api_177a691c-b3b0-11e4-81f6-5282784576db_ba53d62b
a506222fae91 openshift/origin:beta1 "/usr/bin/openshift 3 hours ago Up 3 hours openshift-origin