日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker-compose 常用命令及网络设置(五)

發(fā)布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker-compose 常用命令及网络设置(五) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Docker Compose 常用命令

  • build
    構(gòu)建或重新構(gòu)建服務(wù)。服務(wù)被構(gòu)建后將會以 project_service的形式標(biāo)記,例如:comoretest db。
  • help
    査看指定命令的幫助文檔,該命令非常實用。 docker-compose所有命令的幫助文檔都可通過該命令查看。
  • docker-compose he lp COMMAND

    示例

    docker-compose he lp build #查看 docker- compose build的幫助
  • kill
    通過發(fā)送SI6KILL信號停止指定服務(wù)的容器。示例
  • docker-compose kill eureka

    該命令也支持通過參數(shù)來指定發(fā)送的信號,例如:

    docker-compose kill -s nginx
  • logs
    查看服務(wù)的日志輸出。
  • docker-compose logs nginx #查看nginx的日志 docker-compose logs -f nginx #查看nginx的實時日志
  • port
    打印綁定的公共端口。示例
  • docker-compose port nginx 8080

    這樣就可輸出 nginx服務(wù)8080端口所綁定的公共端口。
    6. ps
    列出所有容器。示例

    docker-compose ps

    也可列出指定服務(wù)的容器,示例:

    docker-compose ps nginx
  • pull
    下載服務(wù)鏡像。示例
  • docker-compose pull nginx
  • rm
    刪除指定服務(wù)的容器。示例:
  • docker-compose rm nginx
  • run
    在一個服務(wù)上執(zhí)行一個命令。示例
  • docker-compose run web bash

    這樣即可啟動一個web服務(wù),同時執(zhí)行bash命令。
    10. scale
    設(shè)置指定服務(wù)運行容器的個數(shù),以 service=num的形式指定。示例

    docker-compose scale user=3 movie=3
  • start
    啟動指定服務(wù)已存在的容器。示例
  • docker-compose start nginx
  • stop
    停止已運行的容器。示例:
  • docker-compose stop nginx

    停止后,可使用 docker-compose start再次啟動這些容器
    13. up
    構(gòu)建、創(chuàng)建、重新創(chuàng)建、啟動,連接服務(wù)的相關(guān)容器。所有連接的服務(wù)都會啟動,除非它們已經(jīng)運行。
    docker-compose up 命令會聚合所有容器的輸出,當(dāng)命令退出時,所有容器都會停止。
    使用 docker-compose up -d 可在后臺啟動并運行所有容器。

    本章是 docker-compose 的常用命令,其他命令可詳見Docker官方文檔:https://docs.docker.com/compose/reference/overview/

    Docker Compose網(wǎng)絡(luò)設(shè)置

    本章所闡述的網(wǎng)絡(luò)特性僅適用于 Version2 file format,Version1 file format不支持該特性。

    基本概念

    默認(rèn)情況下, Compose會為應(yīng)用創(chuàng)建一個網(wǎng)絡(luò),服務(wù)的每個容器都會加入該網(wǎng)絡(luò)中。這樣,容器就可被該網(wǎng)絡(luò)中的其他容器訪問,不僅如此,該容器還能以服務(wù)名稱作為hostname被其他容器訪問。
    默認(rèn)情況下,應(yīng)用程序的網(wǎng)絡(luò)名稱基于 Compose的工程名稱,而項目名稱基于 docker-compose.yml 所在目錄的名稱。如需修改工程名稱,可使用 --project-name標(biāo)識或COMPOSE_ PORJECT_NAME環(huán)境變量。
    舉個例子,假如一個應(yīng)用程序在名為 myapp的目錄中,并且 docker-compose.yml如下所示:

    version: 2 servlce:web:build: .ports:"8000:8900"db:image: postgres

    當(dāng)運行 docker-compose up時,將會執(zhí)行以下幾步:

    • 創(chuàng)建一個名為 myapp_default 的網(wǎng)絡(luò)。
    • 使用 web 服務(wù)的配置創(chuàng)建容器,它以"web"這個名稱加入網(wǎng)絡(luò) myapp_default
    • 使用 db 服務(wù)的配置創(chuàng)建容器,它以"db"這個名稱加入網(wǎng)絡(luò) myapp_default

    容器間可使用服務(wù)名稱( web 或 db )作為 hostname 相互訪問。例如,web這個服務(wù)可使用 postgres://db:5432訪問db容器。

    更新容器

    當(dāng)服務(wù)的配置發(fā)生更改時,可使用 docker-compose up命令更新配置。
    此時, Compose會刪除舊容器并創(chuàng)建新容器。新容器會以不同的 IP 地址加入網(wǎng)絡(luò),名稱保持不變。任何指向舊容器的連接都會被關(guān)閉,容器會重新找到新容器并連接上去。

    前文講過,默認(rèn)情況下,服務(wù)之間可使用服務(wù)名稱相互訪問。 links允許定義一個別名,從而使用該別名訪問其他服務(wù)。舉個例子:

    version: 2 servlce:web:build: .links:- "db:database"db:image: postgres

    這樣 Web 服務(wù)就可使用 db 或 database 作為 hostname 訪問 db 服務(wù)了。例如,postgres://database:5432

    指定自定義網(wǎng)絡(luò)

    一些場景下,默認(rèn)的網(wǎng)絡(luò)配置滿足不了我們的需求,此時可使用 networks 命令自定義網(wǎng)絡(luò)。networks 命令允許創(chuàng)建更加復(fù)雜的網(wǎng)絡(luò)拓?fù)洳⒅付ㄗ远x網(wǎng)絡(luò)驅(qū)動和選項。不僅如此,還可使用 networks 將服務(wù)連接到不是由 Compose 管理的、外部創(chuàng)建的網(wǎng)絡(luò)。
    如下,在其中定義了兩個自定義網(wǎng)絡(luò)。

    version: 2 servlce:proxy:build: ./proxynetworks:- frontapp:build: /appnetworks:- front- backdb:image: postgresnetworks:- backnetworks:front:# Use a custom driverdriver: custom-driver-1back:# Use a custom driver which takes special optionsdriver: custom-driver-2driver_opts:foo: "1"bar: "2"

    其中, proxy 服務(wù)與 db 服務(wù)隔離,兩者分別使用自己的網(wǎng)絡(luò),app 服務(wù)可與兩者通信。
    由本例不難發(fā)現(xiàn),使用 networks命令,即可方便實現(xiàn)服務(wù)間的網(wǎng)絡(luò)隔離與連接。

    配置默認(rèn)網(wǎng)絡(luò)

    除自定義網(wǎng)絡(luò)外,也可為默認(rèn)網(wǎng)絡(luò)自定義配置。

    version: 2 servlce:web:build: .ports:- "8000:8000"db:image: postgres networks:default:# Use a custom driverdriver: custom-driver-1

    這樣,就可為該應(yīng)用指定自定義的網(wǎng)絡(luò)驅(qū)動。

    使用已存在的網(wǎng)絡(luò)

    一些場景下,并不需要創(chuàng)建新的網(wǎng)絡(luò),而只須加入已存在的網(wǎng)絡(luò),此時可使用 external
    選項。示例:

    networks:default:external:name: my-pre-existing-network

    學(xué)習(xí)于:《Spring Cloud與Docker 微服務(wù)架構(gòu)實戰(zhàn)》 — 周立

    總結(jié)

    以上是生活随笔為你收集整理的Docker-compose 常用命令及网络设置(五)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。