docker-compose可以方便組合多個(gè) docker 容器服務(wù), 但是, 當(dāng)容器服務(wù)之間存在依賴關(guān)系時(shí), docker-compose 并不能保證服務(wù)的啟動(dòng)順序。docker-compose 中的 depends_on 配置是容器的啟動(dòng)順序, 并不是容器中服務(wù)的啟動(dòng)順序。本章將詳細(xì)敘述如何解決 docker-compose 順序啟動(dòng)微服務(wù)的問(wèn)題。

成都創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺(jué)設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站程序開(kāi)發(fā)、HTML5響應(yīng)式重慶網(wǎng)站建設(shè)公司、手機(jī)網(wǎng)站制作、微商城、網(wǎng)站托管及成都網(wǎng)站維護(hù)、WEB系統(tǒng)開(kāi)發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為成都混凝土攪拌罐車(chē)行業(yè)客戶提供了網(wǎng)站營(yíng)銷服務(wù)。
1.用restart:always機(jī)制
docker-compose.yml
2. 用shell腳本阻止當(dāng)前服務(wù)啟動(dòng),直到所需依賴的服務(wù)全部啟動(dòng)之后再啟動(dòng)當(dāng)前服務(wù)。
部署的微服務(wù)如下圖所示
(1) shell腳本 :entrypoint.sh ( 鏡像中必須安裝 netcat要么通過(guò)maven配置要么在dockefile安裝netcat )
這個(gè)腳本有2 個(gè)參數(shù):
-d: 需要等待的服務(wù)和端口,例如: simonEureka:8080
-c: 等待的服務(wù)和端口啟動(dòng)之后, 自己的啟動(dòng)命令,例如: java -jar eureka.jar
(2)編寫(xiě)docker-compose.yml
(3) 編寫(xiě)每個(gè)jar包的Dockerfile文件
Dockerfile-eureka:
Dockerfile-config(其他的類似):
netcat放在同級(jí)目錄下
(4) 啟動(dòng)服務(wù)
$ docker-compose up
其他程序都在等待eureka啟動(dòng)這樣就實(shí)現(xiàn)了順序啟動(dòng)的功能
注意問(wèn)題:
1.?Shell腳本權(quán)限問(wèn)題(不能執(zhí)行shell腳本):
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"docker-entrypoint.sh\": executable file not found in $PATH": unknown.
解決方法(添加權(quán)限)
chmod?+x?docker-entrypoint.sh
2.?Shell腳本 報(bào)錯(cuò)"start.sh? /bin/bash^M: 壞的解釋器:沒(méi)有那個(gè)文件或目錄”,因?yàn)?.sh文件是從windows拷貝過(guò)來(lái)的,所以多了\r
解決辦法
sed -i 's/\r$//' start.sh ? ?
3. 出現(xiàn)網(wǎng)關(guān)不能no host to root
先關(guān)閉防火墻看是否能解決
4. 關(guān)閉防火墻后會(huì)出現(xiàn)NO chain需要重啟docker
生產(chǎn)環(huán)境文件上傳服務(wù)發(fā)現(xiàn)經(jīng)常報(bào)錯(cuò):
Failed to parse multipart servlet request; nested exception is java.lang.RunTimeException
提示上傳文件的臨時(shí)路徑找不到.
在linux系統(tǒng)中,springboot應(yīng)用服務(wù)在啟動(dòng)(java -jar 命令啟動(dòng)服務(wù))的時(shí)候,會(huì)在操作系統(tǒng)的/tmp目錄下生成一個(gè)tomcat*的文件目錄,上傳的文件先要轉(zhuǎn)換成臨時(shí)文件保存在這個(gè)文件夾下面。
由于臨時(shí)/tmp目錄下的文件,在長(zhǎng)時(shí)間(10天)沒(méi)有使用的情況下,就會(huì)被系統(tǒng)機(jī)制自動(dòng)刪除掉。
在項(xiàng)目配置文件中自定義臨時(shí)文件路徑
@Bean
MultipartConfigElement multipartConfigElement() {
? ? MultipartConfigFactory factory = new MultipartConfigFactory();
? ? File tmpDirFile = new File(tempDir);
? ? // 判斷文件夾是否存在
? ? if (!tmpDirFile.exists()) {
? ? ? ? //創(chuàng)建文件夾
? ? ? ? tmpDirFile.mkdirs();
? ? }
? ? factory.setLocation(tempDir);
? ? return factory.createMultipartConfig();
}
linux下啟動(dòng)服務(wù)的方式:
#service file restart || servicer file start
linux下停止服務(wù)的方式:
#service file stop
linux下查看服務(wù)的方式:
#service file status
以上是最常用的方式,同樣你也可以通過(guò)/etc目錄下的相關(guān)文件進(jìn)行狀態(tài)操作;而對(duì)于停止服務(wù)也可以利用進(jìn)程號(hào)的方式kill進(jìn)程;
如果在終端不適應(yīng)情況下還可以進(jìn)行桌面操作,進(jìn)入系統(tǒng)應(yīng)用中的服務(wù)菜單,就可以對(duì)相關(guān)服務(wù)進(jìn)行管理和控制。
啟動(dòng)直接點(diǎn)開(kāi)機(jī)鍵就可以。
重啟reboot 就可以了。
關(guān)機(jī),init3、shutdown -f now、halt 都可以關(guān)機(jī)。
重啟服務(wù)services 服務(wù) restart。
停止服務(wù)services 服務(wù) stop。
開(kāi)始服務(wù)services 服務(wù) start。
服務(wù)狀態(tài)services 服務(wù) status。
擴(kuò)展資料:
常用命令及技巧:通用命令。
1、date :打印或者設(shè)置系統(tǒng)的日期和時(shí)間
2、 stty -a:可以查看或者打印控制字符(Ctrl-C、Ctrl-D、 Ctrl-Z等)
3、 passwd:用passwd -h查看
4、logout,login: 登錄shell的登錄和注銷命令
5、 more, less, head tail: 顯示或部分顯示文件內(nèi)容
6、 lp/lpstat/cancel, lpr/lpq/lprm: 打印文件
7、 chmod u+x:更改文件權(quán)限
8、 rm -fr dir:刪除非空目錄
9、cp -R dir:拷貝目錄
10、 fg jobid :可以將一個(gè)后臺(tái)進(jìn)程放到前臺(tái)
參考資料來(lái)源:百度百科-linux
微服務(wù)以jar包的形式部署到linux測(cè)試環(huán)境時(shí),為了方便管理,我寫(xiě)了幾個(gè)shell腳本
啟動(dòng)服務(wù),只需要將jar包作為參數(shù)即可
本文標(biāo)題:linux啟動(dòng)微服務(wù)命令,linux 啟動(dòng)服務(wù)
當(dāng)前網(wǎng)址:http://chinadenli.net/article22/dsidijc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、虛擬主機(jī)、小程序開(kāi)發(fā)、面包屑導(dǎo)航、定制開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)