解決docker run時候啟動兩個占有不同端口的問題
問題描述:
在執(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服務(wù),但節(jié)點重啟后,都的手動啟動ssh,
為了避免麻煩,想啟動的時候運行ssh和jenkins服務(wù)
1.在docker運行的時候,啟動ssh需要root權(quán)限,不然運行sshd很多東西都沒有權(quán)限
因此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)容了,希望能給大家一個參考,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。