我通过命令docker-compose up
我的配置文件运行jenkins图像的docker compose
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这样的浏览器访问时,它不起作用。
答案 0 :(得分:0)
您拥有的jenkins
映像已配置为侦听端口8080
上的http流量。
看看这个:https://github.com/jenkinsci/docker/blob/c2d6f2122fa03c437e139a317b7fe5b9547fe49e/Dockerfile
这是定义http端口默认值的部分
ARG http_port = 8080
这就是暴露的地方
#for main web interface:
EXPOSE $ {http_port}
同样,您可以发现(从属)代理端口为50000
。
在docker ps
输出中,您可以看到jenkins容器正在侦听8080
,但这不会在主机上发布。
所以基本上你试图通过http连接到代理端口,它没有按预期工作。
更改docker compose文件以发布8080
端口并使用它。