1. 程式人生 > 實用技巧 >docker和docker-compose 常規操作

docker和docker-compose 常規操作

  • 就目前來說所有的服務都是單機部署,而且都基於自定義網路,所以如果是初次執行或者docker資料被重新初始化等 lnmp-network 網路不存在時首先應該執行以下網路,建立此docker 網路。

    1. docker network create -d bridge lnmp-network

在未作出叢集化部署之前我們的 docker 服務編排檔案都部署到目錄/www/docker在執行任何docker-compose命令之前我建議都先進入此目錄。

  • 啟動lnmp服務組:

    1. docker-compose -p web up -d

  • 啟動dnapp中的消費服務:

    1. docker-compose -p task -f task-docker-compose.yml up -d

  • 啟動swoole服務:

    1. docker-compose -p swoole -f swoole-docker-compose.yml up -d

  • 啟動微服務集:

    1. docker-compose -p micro -f micro.compose.yml up -d

  • 預檢查nginx配置是否正確

    1. docker-compose run --no-deps nginx nginx -t

  • (重點)執行日誌檢視的正確方式

    目前而言做日誌收集平臺的成本和效用不成正比,暫時不予實現。

    先看一條完整的命令:

    1. docker-compose -p micro -f micro.compose.yml logs -f -t --tail=20

  • p 引數鎖定專案micro

  • f 引數指定專案的編排檔案micro.compose.yml

  • logs 命令選項指定要檢視該專案下面的執行日誌。

  • logs 後面的引數對logs起作用。-f表示連續輸出最新日誌像linux命令tail -f中的f一樣-t表示輸出日誌列印時間。--tail=20表示從專案中每個容器日誌的最後第 20 行開始顯示,跟linux 命令tail -n 20一樣。

  • 舉一反三:

    1. // 檢視 nginx 的請求日誌(在 docker-compose.yml 檔案中定義的服務不需要顯示指定專案檔案):
    2. docker-compose -p web logs -f -t --tail=20 nginx
    3. // 檢視 php-fpm 執行日誌:
    4. docker-compose -p web logs -f -t --tail=20 php
    5. // 檢視訊息中心的日誌
    6. docker-compose -p micro -f micro.compose.yml logs -f -t --tail=20 message