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