在绑定到主机端口9090的容器中运行Jenkins镜像
sudo docker run -itd -p 9090:8080 -p 50000:50000 --name=myjenkins -t jenkins-custom /bin/bash运行$docker port myjenkins的输出
50000/tcp -> 0.0.0.0:50000
8080/tcp -> 0.0.0.0:9090我还可以从主机透视图ps -Af | grep proxy中看到绑定
root 15314 15194 0 17:52 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 50000 -container-ip 172.17.0.2 -container-port 50000
root 15325 15194 0 17:52 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9090 -container-ip 172.17.0.2 -container-port 8080在启动我的jenkins服务器之后,我尝试使用主机ip和转发的端口连接到容器(9090)。
我是Docker的新手,所以我可能错过了一些东西,但我希望得到一些建议
更新:包括dockerfile
From local-artifiactory/jenkinsci/jenkins:2.9
ENV java_opts="-Xmx8192m"发布于 2021-03-12 08:42:52
这不是对这个特定问题的回答。这可能是对“端口映射不起作用”的一个回答
我已经被它抓到过两次了。
从命令行创建容器时,镜像名称必须放在最后
此语法:
docker run --name MyContainer MyImage -p 8080:80将从MyImage创建容器MyContainer而不会出现问题
,但-p 8080:80部分将被忽略,您的端口映射将无法工作
此语法将起作用-除了端口映射将实际起作用外,您将看到完全相同的结果。
docker run --name MyContainer -p 8080:80 MyImage这一点相同:
docker run MyImage --name MyContainer这将从MyImage创建一个容器,但它不会给它显式的名称,它会分配一个随机的名称
我希望这能节省一些时间。
发布于 2017-05-17 06:05:49
唯一运行的进程是/bin/bash (在行尾指定)。您必须在容器内启动Jenkins。
发布于 2019-02-07 09:01:51
docker中的端口绑定/发布实际上是将容器的端口发布到docker-machine的,而不是localhost的。
docker run -p 9090:8080 jenkins
您将能够通过curl <your-docker-machine>:9090而不是curl localhost:9090或curl 127.0.0.1:9090访问服务
要获取扩展坞机器的IP,请执行:docker-machine ls并检查URL
https://stackoverflow.com/questions/44012346
复制相似问题