コマンドによってジェンキンス画像のdocker composeを実行しています docker-compose up
私の設定ファイル Dockerfile:
FROM java:openjdk-8-jre
EXPOSE 50000
docker-compose.yml
version: "3"
services:
jenkins:
image: jenkins:2.60.3-alpine
ports:
- 50000:50000
私のコンテナーはdocker psの結果を実行します:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7dbe18cdbb53 jenkins:2.60.3-alpine "/bin/tini -- /usr/l…" 22 minutes ago Up 22 minutes 8080/tcp, 0.0.0.0:50000->50000/tcp docker_jenkins_1
でドッカーホストを確認しました docker inspect 7dbe18cdbb53
結果:
],
"NetworkID": "e3a5461960939397615620f051696f8b78fde9352d0c8b42b4ed679a1e847b9b",
"EndpointID": "999b5d3525b2fe823c5ed0033bb27e85b3ca26356b4bd9f1525de005739fecde",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:12:00:02",
"DriverOpts": null
`
172.18.0.2:50000のようなブラウザからアクセスしようとすると、動作しません。
回答:
回答№1は0ザ jenkins
所有しているイメージは、ポートでHTTPトラフィックをリッスンするように構成されています 8080
。 これを見てみましょう: https://github.com/jenkinsci/docker/blob/c2d6f2122fa03c437e139a317b7fe5b9547fe49e/Dockerfile
これは、httpポートのデフォルト値が定義されている部分です
ARG http_port = 8080
そして、これはそれが公開されている場所です
#メインWebインターフェースの場合:
$ {http_port}を公開
同様に、(スレーブ)エージェントポートは 50000
.
あなたの docker ps
出力では、jenkinsコンテナがリッスンしていることがわかります 8080
しかし、これはホストで公開されていません。 したがって、基本的にはhttp経由でエージェントポートに接続しようとしており、期待どおりに機能していません。 Docker作成ファイルを変更して、 8080
移植して使用します。