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

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

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

外部訪(fǎng)問(wèn)

隨機(jī)映射端口

使用 -P 標(biāo)記,Docker會(huì)隨機(jī)映射一個(gè)49000-49900的端口到內(nèi)部容器開(kā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

新建一個(gè)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測(cè)試容器是否互聯(lián)

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

配置DNS 宿主機(jī)DNS信息更新后,所有Docker容器的DNS配置通過(guò)/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)行交互的方式。

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

自定義容器名

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

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

docker run -d -p --name db mysql

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

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

容器互聯(lián)

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

下面是一個(gè)示例:

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

docker run -d --name db training/postgres

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

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

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

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

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

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

Docker通過(guò)兩種方式公開(kāi)連接信息:

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

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

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

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

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

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

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

標(biāo)簽:四川 ???/a> 岳陽(yáng) 股票 臨沂 烏海 紅河 鎮(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)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Docker 基礎(chǔ)網(wǎng)絡(luò)配置詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Docker 基礎(chǔ)網(wǎng)絡(luò)配置詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章