解决docker run时候启动两个占有不同端口的问题
问题描述:
在执行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 &
如果是自己的程序,可以重定向日志到自己的日志文件
上一篇:Alpine镜像中telnet转移至busybox-extras
栏 目:
本文标题:解决docker run时候启动两个占有不同端口的问题
本文地址:http://www.codeinn.net/misctech/224514.html