問題描述:
在執(zhí)行docker run -p 19918:19918/tcp -v /etc/localtime:/etc/localtime時候后
docker ps查看有啟動19918和另一個端口,并在注冊中心未發(fā)現(xiàn)執(zhí)行程序。
問題分析:
啟動的另一端口為之前配置的,猜測為run時執(zhí)行了剛剛build的項目外執(zhí)行了之前的容器。
解決方式:
docker images查看容器,刪除相同的以及兩個執(zhí)行出的端口容器。再次執(zhí)行顯示成功!
總結(jié):
命名規(guī)范,及時清除不必要的容器。
補充知識:docker中開啟時運行多個不同進程,安裝ssh,并在啟動docker時與jenkins同時啟動運行
最近在做jenkins slave節(jié)點時,需要安裝ssh與master建立鏈接,這時,slave需要安裝ssh服務,但節(jié)點重啟后,都的手動啟動ssh,
為了避免麻煩,想啟動的時候運行ssh和jenkins服務
1.在docker運行的時候,啟動ssh需要root權限,不然運行sshd很多東西都沒有權限
因此docker run 的時候,加個參數(shù)--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時候啟動兩個占有不同端口的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。