主頁 > 知識庫 > Docker 基礎(chǔ)網(wǎng)絡(luò)配置詳解

Docker 基礎(chǔ)網(wǎng)絡(luò)配置詳解

熱門標(biāo)簽:臨汾電銷機(jī)器人費(fèi)用 地圖標(biāo)注w是什么方向 新鄉(xiāng)人工智能電話機(jī)器人加盟 七大洲地圖標(biāo)注 河南省鄭州市地圖標(biāo)注 400電話申請找哪家公司 昆明外呼系統(tǒng) 福州呼叫中心外呼系統(tǒng)哪家好 地圖標(biāo)注需要提交啥資料入駐

外部訪問

隨機(jī)映射端口

使用 -P 標(biāo)記,Docker會隨機(jī)映射一個49000-49900的端口到內(nèi)部容器開放的網(wǎng)絡(luò)端口
docker run -d -P training/webapp python app.py
docker ps -l # 顯示最近創(chuàng)建的容器
docker logs -f web # 查看應(yīng)用的信息

映射所有接口地址

docker run -d -p 5000:5000 training/webapp python app.py

映射到指定地址的指定端口

docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

映射到指定地址的任意端口

docker run -d -p 127.0.0.1::5000 training/webapp python app.py

指定udp端口

docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py

查看映射端口配置

dokcer port web 5000

新建一個docker網(wǎng)絡(luò)

docker network create -d bridge my-net

運(yùn)行容器連接到新建的my-net網(wǎng)絡(luò)

docker run -it --rm --name busybox1 --network my-net busybox sh
docker run -it --rm --name busybox2 --network my-net busybox sh

查看容器信息

docker container ls
容器內(nèi)ping測試容器是否互聯(lián)

多個容器互聯(lián) 推薦Docker Compose

配置DNS 宿主機(jī)DNS信息更新后,所有Docker容器的DNS配置通過/etc/resolv.conf立即更新

配置全部容器的DNS

vim /etc/docker/daemon.json 增加內(nèi)容

{
 'dns':[
  "114.114.114.114",
  "8.8.8.8"
 ]
}

docker run -it --rm ubuntu:17.10 cat /etc/resolv.conf

容器互聯(lián)

容器的連接系統(tǒng)是除了端口映射外另一種可以與容器中應(yīng)用進(jìn)行交互的方式。

它會在源和接收容器之間創(chuàng)建一個隧道,接收容器可以看到源容器指定的信息。

自定義容器名

連接系統(tǒng)根據(jù)容器的名稱執(zhí)行,所以需要自定義一個較為簡單容易區(qū)分的容器名。

自定義命名使用--name參數(shù),這個在之前的文章中已經(jīng)遇到過了:

docker run -d -p --name db mysql

容器的命名必須是唯一的。

執(zhí)行docker run時,如果加上--rm參數(shù),容器在終止后悔立即被刪除,但是不能與-d參數(shù)一同使用。

容器互聯(lián)

使用--link參數(shù)可以讓容器間建立安全的連接進(jìn)行交互。

下面是一個示例:

首先創(chuàng)建一個數(shù)據(jù)庫的容器:

docker run -d --name db training/postgres

然后創(chuàng)建web容器:

docker run -d -P --name web --link db:db training/webapp python app.py

此時db容器和web容器加你互聯(lián)關(guān)系。

--link參數(shù):--link name:alias,name是要連接的容器的名字,alias是這個連接的別名。

可以使用docker ps查看容器信息,其中names列就能看出互聯(lián)的狀態(tài)。

docker在兩個互聯(lián)的容器之間建立了一個安全隧道,不需要吧他們的端口映射到宿主主機(jī)上,也可以避免端口的暴露。

Docker通過兩種方式公開連接信息:

  • 環(huán)境變量
  • 更新/etc/hosts文件

使用env命令查看剛剛的web容器的環(huán)境變量:

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

其中DB_開頭的環(huán)境變量是供web容器連接db容器使用,前綴采用大寫的連接別名。

除了環(huán)境變量,Docker還添加host信息到父容器的/etc/hosts文件。其中web容器會以自己的ID作為默認(rèn)主機(jī)名,db容器以db作為主機(jī)名。

比如多個web到db容器的情況,可以鏈接多個子容器到父容器上。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:四川 ???/a> 岳陽 股票 臨沂 烏海 紅河 鎮(zhèn)江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker 基礎(chǔ)網(wǎng)絡(luò)配置詳解》,本文關(guān)鍵詞  Docker,基礎(chǔ),網(wǎng)絡(luò),配置,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Docker 基礎(chǔ)網(wǎng)絡(luò)配置詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Docker 基礎(chǔ)網(wǎng)絡(luò)配置詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章