小白學Docker 七 Docker容器連線

2021-10-12 14:00:14 字數 2086 閱讀 4145

建立乙個python應用的容器

我們可以指定容器繫結的網路位址比如繫結127.0.0.1

我們使用-p引數建立乙個容器,使用docker ps可以看到容器埠5000繫結主機埠是隨機的

我們也可以使用-p標識來指定埠繫結到主機埠

兩者的區別是

-p 是容器內部埠隨機對映到主機的埠

-p 是容器內部埠繫結到指定的主機埠

另外我們可以指定容器繫結的網路位址 比如繫結127.0.0.1

上面這些預設繫結的都是tcp埠,如果要繫結udp埠,可以在埠後面加上/udp

docker port 命令可以快捷的檢視埠的繫結情況

埠對映並不是唯一把docker連線到另乙個容器的方法。

docker有個連線系統允許將多個容器連線在一起,共享連線資訊。

docker連線會建立乙個父子關係,其中父容器可以看到子容器的資訊

我們可以使用 --name標識來命名容器,

建立乙個新的docker網路

引數說明

-d 引數指定docker網路型別,又bridge,overlay

起鬨overlay網路型別用於swarm mode。

連線容器

執行乙個容器並連線到新建得test-net網路

docker run -itd --name test1 --network test-net ubuntu /bin/bash
開啟乙個新的終端,再執行乙個容器並加入到test-net網路

docker run -itd --name test2 --network test-net ubuntu /bin/bash
通過ping命令來證明test1容器和test2容器建立了互聯關係

如果沒有ping命令

可以在容器內執行以下命令

1.首先進入test1容器的終端

docker exec -it test1 /bin/bash
2.執行下面的命令

apt-get update
3.執行下面命令 ,選擇y

apt install iputils-ping
這時候我們的test1就有ping的命令了,但是我們的test2還沒有,這時候我們就可以利用之前的知識來進行安裝

因為我們的test1容器裡面已經有了ping的相關環境,那麼我們只需要把test1這個容器提交到乙個映象上面,然後test2再進行拉取就好了

1.首先進行容器提交映象

docker commit -a "ubuntu" -m "新增ping相關命令" -p 4521473f27a8 ubuntu:demo23

看一下本地確實有了這個映象

2.注意,這時候我們應該讓test1和test2容器都在這個這個映象下面建立

docker run -itd --name test2 --network test-net ubuntu:demo23 /bin/bash
這下test1和test2都有了ping的相關命令

進入test1容器的終端並執行執行

說明已經ping成功了

換到test2終端下結果相同 。

我們可以在宿主機的 /etc/docker/daemon.json 檔案中增加以下內容來設定全部容器的 dns:

Docker學習收藏系列(一) 認識Docker

1 docker 是乙個軟體平台,讓您可以快速構建 測試和部署應用程式。docker 將軟體打包成名為容器的標準化單元,這些單元具有執行軟體所需的所有功能,包括庫 系統工具 和執行時。使用 docker,您可以將應用程式快速部署和擴充套件到任何環境中,並且知道您的 將執行。2 docker工作原理 ...

Docker系列四 使用UI管理docker容器

一 什麼是portainer?docker pull portainer portainer三 執行portainer portainer執行方式有以下兩種方式 1 單機版執行 如果僅有乙個docker宿主機,則可使用單機版執行,執行以下命令就可以啟動了 docker run d p 9000 90...

小白學爬蟲

最近剛開始學習爬蟲,準備將自己的學習情況寫下來。一是為了鞏固記憶,二是為了更好的與人交流,讓我的爬蟲之路不孤單。下面展示一下爬取資料的過程。1 首先需要匯入requests模組,requests模組需要安裝。2 通過url獲得響應物件,具體是通過get請求還是post請求這篇文章講的很好reques...