我尝试通过page构建Jenkins docker容器,这样我就可以在本地进行测试。问题是,一旦我运行了docker run -it -p 8080:8080 jenkins/jenkins:lts
,似乎就不能对我的docker-compose.yml
使用相同的端口:
version: '3.8'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
user: root
privileged: true
ports:
- 8080:8080
- 50000:50000
volumes:
- .jenkins/jenkins_configuration:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
PowerShell中显示的错误(如果相关的话,我在Windows 10上)是:
Error response from daemon: driver failed programming external connectivity on endpoint jenkins (xxxx): Bind for 0.0.0.0:8080 failed: port is already allocated
我已经确保它不受另一个容器,图像或卷的影响,并删除了除此之外的一切。
我想在本地使用Jenkins,但我该如何解决这个问题?我不熟悉网络,而且我在谷歌上搜索到的东西似乎对我不起作用。我希望能够在localhost:8080
上使用Jenkins ui
1条答案
按热度按时间niknxzdl1#
如果您的主机上已经分配了端口8080,您可以将另一个端口Map到容器的8080。两个端口不能Map到主机上的同一个端口。例如,为了Map8081,请将您的组合更改为以下内容:
然后,您只需要使用端口
localhost:8081
而不是localhost:8080
访问由docker-compose
启动的容器。