解决docker run时候启动两个占有不同端口的问题

admin
admin
admin
2069
文章
5
评论
2021年10月31日22:25:41解决docker run时候启动两个占有不同端口的问题已关闭评论 71 737字阅读2分27秒

问题描述:

在执行docker run -p 19918:19918/tcp -v /etc/localtime:/etc/localtime时候后

docker ps查看有启动19918和另一个端口,并在注册中心未发现执行程序。

问题分析:

启动的另一端口为之前配置的,猜测为run时执行了刚刚build的项目外执行了之前的容器。

解决方式:

docker images查看容器,删除相同的以及两个执行出的端口容器。再次执行显示成功!

总结:

命名规范,及时清除不必要的容器。

补充知识:docker中开启时运行多个不同进程,安装ssh,并在启动docker时与jenkins同时启动运行

最近在做jenkins slave节点时,需要安装ssh与master建立链接,这时,slave需要安装ssh服务,但节点重启后,都的手动启动ssh,

为了避免麻烦,想启动的时候运行ssh和jenkins服务

1.在docker运行的时候,启动ssh需要root权限,不然运行sshd很多东西都没有权限

因此docker run 的时候,加个参数--user root

docker run -d --user root --name jenkins_nodes3 --add-host gitlab.com:100.20.20.100 -v /home/_data_slave:/var/jenkins_home -p 8188:8080 -p 51005:50000 -p 8122:22 jenkins_ssh

2.修改/usr/local/bin/jenkins.sh 启动文件,添加以下一行

/usr/sbin/sshd -D > null 2>&1 &

如果是自己的程序,可以重定向日志到自己的日志文件

文章来源于互联网:解决docker run时候启动两个占有不同端口的问题