Docker框架使用系列教程(五)容器間的連結

千鋒武漢發表於2021-04-22

      Docker容器的教程這裡已經是第五期了,我們今天講一講容器之間的連結,包括常用的命令等等,喜歡的話記得收藏起來慢慢看。

5

      容器間的連結有兩種方法,任選其一即可

1

      例如:

      docker run -d -P pro/myapp python manager.py

      上面的命令執行完成後,要透過ps檢視可以看到對應的容器埠和主機埠的對映關係。

      docker run -d -p 8001:8000 pro/myapp python manager.py

      這樣我們就可以透過訪問 127.0.0.1:8001(主機) 來訪問容器的 8000 埠。這裡面預設都是繫結TCP

      要繫結UDP如下命令:

      docker run -d -p 127.0.0.1:8000:8000/udp pro/myapp python manager.py

       安裝mysql

      普通命令:sudo docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

      指定編碼格式命令: sudo  docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

       Docker容器連線

       埠對映並不是唯一把 docker 連線到另一個容器的方法。docker 有一個連線系統允許將多個容器連線在一起,共享連線資訊。docker 連線會建立一個父子關係,其中父容器可以看到子容器的資訊。

      容器命名

      docker run -d -P --name blog  pro/myapp python manager.py

      透過--name設定容器名字

      docker inspect -f "{{ .Name }}" aed8addj09a1

      透過上述命令可以返回湧入名字。容器不可以重名,一次要修改名字,需要停止容器後刪除。

      容器連線

      如果要連線1個容器,需要先建立容器,然後透過--link連線。

2

      這樣就完成了Web容器和DB容器連線到了一起。

      --link name:alias

      name是我們連線容器的名字,alias是link的別名。讓我們看如何使用alias。

      下面,我們透過ps檢視一下:

      $ docker ps

      這裡面在Names我們可以看到sql15.7,這說明sql15.7的父/子關係。這裡的父容器是db可以訪問子容器web。為此docker在容器之間開啟一個安全連線隧道不需要暴露任何埠在容器外部。你會注意到當你啟動db容器的時候我們沒有使用-P或者-p標識。我們連線容器的時候我們不需要透過網路給mySQL資料庫開放埠。

      這樣我們可以透過查詢Docker的環境變數就可以看到相關資訊了(env命令檢視容器的環境變數)

      docker run --rm --name web2 --link db:db training/webapp env

      這樣就可以透過容器Names來引用對應容器。

      PS:容器中往往沒有ping,因此要自己新增

      apt-get install -yqq inetutils-ping

       以上就是docker框架容器間的連結的分享。 最後大家如果對Python感興趣的話,可以關注我,後期分享更多Python的技術知識。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2769222/,如需轉載,請註明出處,否則將追究法律責任。

相關文章