国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

這篇具有很好參考價(jià)值的文章主要介紹了Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


一、Docker簡介

1、Docker簡述

Docker是一個(gè)go語言開發(fā)的應(yīng)用容器引擎,運(yùn)行容器里的應(yīng)用。docker是用來管理容器和鏡像的一種工具。

2、什么是容器

容器是在linux上本機(jī)運(yùn)行,并與其他容器共享主機(jī)的內(nèi)核,它運(yùn)行的是一個(gè)獨(dú)立的進(jìn)程,不占用其他任何可執(zhí)行文件的內(nèi)存,非常輕量。
虛擬機(jī)運(yùn)行的是一個(gè)完整的操作系統(tǒng),通過虛擬機(jī)管理程序?qū)χ鳈C(jī)資源進(jìn)行虛擬訪問,相比之下需要的資源更多。

3、容器的優(yōu)點(diǎn)

①靈活:即使是最復(fù)雜的應(yīng)用也可以集裝箱化。
②輕量級(jí):容器利用并共享主機(jī)內(nèi)核。
③可互換:可以即時(shí)部署更新和升級(jí)。
④便攜式:可以在本地構(gòu)建,部署到云,并在任何地方運(yùn)行。
⑤可擴(kuò)展:可以增加并自動(dòng)分發(fā)容器副本。
⑥可堆疊:可以垂直和即時(shí)堆疊服務(wù)。

4、Docker的logo及設(shè)計(jì)宗旨

Docker的Logo設(shè)計(jì)為藍(lán)色鯨魚,拖著許多集裝箱。
鯨魚可看作為宿主機(jī),集裝箱可理解為相互隔離的容器,每個(gè)集裝箱中都包含自己的應(yīng)用程序。Docker的設(shè)計(jì)宗旨:Build,Ship and Run Any App,Anywhere,
即通過對(duì)應(yīng)用組件的封裝、發(fā)布、部署、運(yùn)行等生命周期的管理,達(dá)到應(yīng)用組件級(jí)別的“一次封裝,到處運(yùn)行”的目的。這里的組件,既可以是一個(gè)應(yīng)用,也可以是一套服務(wù),甚至是一個(gè)完整的操作系統(tǒng)。

5、Docker與虛擬機(jī)的區(qū)別

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

6、Docker的2個(gè)重要技術(shù)

docker本質(zhì)就是宿主機(jī)的一個(gè)進(jìn)程,docker是通過namespace實(shí)現(xiàn)資源隔離,通過cgroup實(shí)現(xiàn)資源限制,通過寫時(shí)復(fù)制技術(shù)(copy-on-write)實(shí)現(xiàn)了高效的文件操作(類似虛擬機(jī)的磁盤比如分配500g并不是實(shí)際占用物理磁盤500g)
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

7、Docker三大核心概念

①鏡像:包含了各種環(huán)境或者服務(wù)的一個(gè)模板

②容器(container)–對(duì)象:鏡像運(yùn)行起來之后的一個(gè)實(shí)例即為容器,可以看做簡易版的linux環(huán)境

③倉庫:保存鏡像的地方,分為私有庫和公共庫最大的公有庫是docker公司提供的地址為:hub.docker.com

docker的三大核心以及日志等內(nèi)容默認(rèn)都存在/var/lib/docker下

二、Docker的安裝及管理

1、安裝Docker

yum install -y yum-utils device-mapper-persistent-data lvm2
#安裝docker的依賴包,yum-utils:提供了 yum-config-manager 工具。
#device mapper: 是Linux內(nèi)核中支持邏輯卷管理的通用設(shè)備映射機(jī)制,它為實(shí)現(xiàn)用于存儲(chǔ)資源管理的塊設(shè)備驅(qū)動(dòng)提供了一個(gè)高度模塊化的內(nèi)核架構(gòu)。
#evice mapper存儲(chǔ)驅(qū)動(dòng)程序需要 device-mapper-persistent-data 和 lvm2。
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#yum源配置為阿里云鏡像
yum install -y docker-ce  docker-ce-cli
#安裝docker(ce表示社區(qū)版,若需安裝指定版本則--后跟版本)  

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

2、配置Docker加速器

①打開阿里云官網(wǎng) 阿里云登錄 - 歡迎登錄阿里云,安全穩(wěn)定的云計(jì)算服務(wù)平臺(tái)官網(wǎng)進(jìn)行登陸。

②登陸后打開控制臺(tái)
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
③點(diǎn)擊左側(cè)菜單欄,搜索框輸入容器鏡像服務(wù)
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
④ 選擇鏡像工具—鏡像加速器–復(fù)制命令配置即可配置完畢重新加載daemon然后重啟docker。
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

3、Docker鏡像相關(guān)基礎(chǔ)命令

①搜索鏡像

格式:docker search 關(guān)鍵字
作用:搜索關(guān)鍵字的相關(guān)鏡像內(nèi)容

docker search nginx

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

②拉取鏡像

格式:docker pull 鏡像:[版本號(hào)]
作用:拉取鏡像,版本號(hào)可選,不填寫默認(rèn)為拉取最新鏡像

docker pull nginx

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

③查看鏡像

命令:docker images
作用:查看所有鏡像文件

docker images 

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

④查看鏡像詳細(xì)信息

格式:docker inspect 鏡像唯一id號(hào)
作用:可以查看到鏡像的ip信息等

docker inspect f9c14fe76d50

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

⑤ 本地鏡像添加新標(biāo)簽

格式:docker tag 名稱:[標(biāo)簽] 名稱:[新標(biāo)簽]
作用:用于本地鏡像添加新的標(biāo)簽
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

⑥查看docker信息

命令:docker version
作用:查看docker版本信息

命令:docker info
作用:查看docker詳細(xì)信息

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

Containers: 0                   #當(dāng)前容器數(shù)量
Running: 0                      #多少容器在運(yùn)行中
Paused: 0                       #多少容器在暫停中
Stopped: 0                      #多少容器在停止中
Images: 1                       #當(dāng)前有多少鏡像
Server Version: 24.0.2          #當(dāng)前版本號(hào)
Storage Driver: overlay2        #docker當(dāng)前使用的文件存儲(chǔ)驅(qū)動(dòng) 
Backing Filesystem: xfs         #底層使用的是xfs
Cgroup Driver: cgroupfs         #docker使用cgroupfs做資源隔離
 Docker Root Dir: /var/lib/docker     #docker工作目錄,其鏡像、容器都存在這里

⑦刪除docker鏡像

格式:docker rmi 倉庫名:標(biāo)簽 /鏡像唯一id號(hào)
作用:刪除鏡像

docker rmi nginx:web
docker rmi f9c14fe76d50

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

⑧容器導(dǎo)出鏡像存儲(chǔ)

格式:docker save -o 保存目錄 導(dǎo)出的鏡像
作用:將docker容器中的鏡像導(dǎo)出保存到系統(tǒng)中

docker save  -o /opt/nginx.bak nginx:latest

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

⑨導(dǎo)入鏡像到容器

格式: docker load -i 本地存儲(chǔ)鏡像位置 或者 docker load <本地存儲(chǔ)鏡像位置

作用:將鏡像導(dǎo)入docker容器中

docker load -i /opt/nginx.bak

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

4、Docker 容器操作

①創(chuàng)建docker容器

容器創(chuàng)建:就是將鏡像加載到容器的過程。
新創(chuàng)建的容器默認(rèn)處于停止?fàn)顟B(tài),不運(yùn)行任何程序,需要在其中發(fā)起一個(gè)進(jìn)程來啟動(dòng)容器。

格式:docker create [選項(xiàng)] 鏡像
常用選項(xiàng):
-i:讓容器開啟標(biāo)準(zhǔn)輸入接受用戶輸入命令
-t:讓 Docker 分配一個(gè)偽終端 tty
-it :合起來實(shí)現(xiàn)和容器交互的作用,運(yùn)行一個(gè)交互式會(huì)話 shell

示例:
docker create -it nginx:1.14

②查看docker容器進(jìn)程

命令:docker ps [選項(xiàng)]

-a 選項(xiàng)顯示所有狀態(tài)容器

作用:顯示up的進(jìn)程,加-a表示顯示所有狀態(tài)容器
單獨(dú) ps 只能顯示已經(jīng)運(yùn)行的容器

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

③管理docker容器

格式:docker start/stop 容器唯一id/容器名稱

作用:開啟或關(guān)閉容器

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

④登錄docker容器

格式:docker exec -it 容器唯一id bash/sh

作用:登錄容器

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

5、docker run的運(yùn)行過程

創(chuàng)建并啟動(dòng)docker容器

格式:docker run [選項(xiàng)] 鏡像名/鏡像唯一id /bin/bash

選項(xiàng):
-d 選項(xiàng)讓 Docker 容器以守護(hù)形式在后臺(tái)運(yùn)行,并且容器所運(yùn)行的程序不能結(jié)束

-it :合起來實(shí)現(xiàn)和容器交互的作用,運(yùn)行一個(gè)交互式會(huì)話 shell

–name:指定創(chuàng)建的容器的名稱

作用:相當(dāng)于先create容器然后再start容器并持久保持開啟,不能單獨(dú)使用docker run 不加任何選項(xiàng),docker 容器是一個(gè)與其中運(yùn)行的 shell 命令共存亡的終端,命令運(yùn)行容器運(yùn)行, 命令結(jié)束容器退出

注意:docker 容器默認(rèn)會(huì)把容器內(nèi)部第一個(gè)進(jìn)程,也就是 pid=1 的程序作為docker容器是否正在運(yùn)行的依據(jù),如果docker容器中 pid=1的進(jìn)程掛了,那么docker容器便會(huì)直接退出,也就是說Docker容器中必須有一個(gè)前臺(tái)進(jìn)程,否則認(rèn)為進(jìn)程已經(jīng)掛掉。

運(yùn)行過程:

(1)檢查本地是否存在指定的鏡像。當(dāng)鏡像不存在時(shí),會(huì)從公有倉庫下載;

(2)利用鏡像創(chuàng)建并啟動(dòng)一個(gè)容器;

(3)分配一個(gè)文件系統(tǒng)給容器,在只讀的鏡像層外面掛載一層可讀寫層;

(4)從宿主主機(jī)配置的網(wǎng)橋接口中橋接一個(gè)虛擬機(jī)接口到容器中;

(5)分配一個(gè)地址池中的 IP 地址給容器;

(6)執(zhí)行用戶指定的應(yīng)用程序,執(zhí)行完畢后容器被終止運(yùn)行。

6、docker 容器7個(gè)的生命周期

(1)create:已創(chuàng)建還未運(yùn)行的容器

(2)running:正在運(yùn)行中的容器

(3)restarting:容器正在重啟中

(4)removing:容器正在遷移中

(5)paused:容器已暫停的狀態(tài)

(6)exited:停止容器運(yùn)行

(7)dead:死亡,主要是操作系統(tǒng)出現(xiàn)異?;驍帱c(diǎn)導(dǎo)致

暫停和停止?fàn)顟B(tài)的區(qū)別

paused 命令掛起指定的容器中的所有進(jìn)程為暫停,

stop:表示殺掉正在運(yùn)行的docker容器進(jìn)程,默認(rèn)是10s后

7、docker容器導(dǎo)出導(dǎo)入

容器從一臺(tái)機(jī)器遷移到另一臺(tái)機(jī)器。在遷移過程中,可以使用docker export命令將已經(jīng)創(chuàng)建號(hào)的容器導(dǎo)出為文件,無論這個(gè)容器是處于運(yùn)行狀態(tài)還是停止?fàn)顟B(tài)均可導(dǎo)出。

導(dǎo)出格式:docker export 容器id/容器名稱 >文件夾名或者 docker export -o 文件名.tar 容器唯一id
-o 指定文件

導(dǎo)入格式:cat 文件| docker import - centos8:test #自定義容器名docker import 文件名.tar -- 容器名:標(biāo)簽名

方法一:
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
方法二:
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

8、 刪除容器

格式:docker [選項(xiàng)] 容器id/名稱

[選項(xiàng)]:-f 強(qiáng)制刪除

作用:刪除容器,若容器在運(yùn)行中建議先停止再刪除

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

批量刪除沒有運(yùn)行的容器

docker rm $(docker ps -a -q | grep -v $(docker ps -q ))

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

三、Docker網(wǎng)絡(luò)

Docker 網(wǎng)絡(luò)實(shí)現(xiàn)原理
Docker使用Linux橋接,在宿主機(jī)虛擬一個(gè)Docker容器網(wǎng)橋(docker0),Docker啟動(dòng)一個(gè)容器時(shí)會(huì)根據(jù)Docker網(wǎng)橋的網(wǎng)段分配給容器一個(gè)IP地址,稱為Container-IP,同時(shí)Docker網(wǎng)橋是每個(gè)容器的默認(rèn)網(wǎng)關(guān)。因?yàn)樵谕凰拗鳈C(jī)內(nèi)的容器都接入同一個(gè)網(wǎng)橋,這樣容器之間就能夠通過容器的 Container-IP 直接通信。

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

Docker網(wǎng)橋是宿主機(jī)虛擬出來的,并不是真實(shí)存在的網(wǎng)絡(luò)設(shè)備,外部網(wǎng)絡(luò)是無法尋址到的,這也意味著外部網(wǎng)絡(luò)無法直接通過 Container-IP 訪問到容器。如果容器希望外部訪問能夠訪問到,可以通過映射容器端口到宿主主機(jī)(端口映射),即 docker run 創(chuàng)建容器時(shí)候通過 -p-P 參數(shù)來啟用,訪問容器的時(shí)候就通過[宿主機(jī)IP]:[容器端口]訪問容器。

1、host模式

docker中的容器使用宿主機(jī)的ip地址但是端口號(hào)不同,Docker使用了Linux的Namespaces技術(shù)來進(jìn)行資源隔離,如PID Namespace隔離進(jìn)程,Mount Namespace隔離文件系統(tǒng),Network Namespace隔離網(wǎng)絡(luò)等。
一個(gè)Network Namespace提供了一份獨(dú)立的網(wǎng)絡(luò)環(huán)境,包括網(wǎng)卡、路由、iptable規(guī)則等都與其他的Network Namespace隔離。 一個(gè)Docker容器一般會(huì)分配一個(gè)獨(dú)立的Network Namespace。 但如果啟動(dòng)容器的時(shí)候使用host模式,那么這個(gè)容器將不會(huì)獲得一個(gè)獨(dú)立的Network Namespace, 而是和宿主機(jī)共用一個(gè)Network Namespace。容器將不會(huì)虛擬出自己的網(wǎng)卡、配置自己的IP等,而是使用宿主機(jī)的IP和端口。

配置:創(chuàng)建容器時(shí)添加使用 --net=host 指定容器為host模式。

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

2、container模式

container模式則是docker容器中所有的容器共享一個(gè)Network Namespace而不是和宿主機(jī)共享。新創(chuàng)建的容器不會(huì)創(chuàng)建自己的網(wǎng)卡,配置自己的IP,而是和一個(gè)指定的容器共享IP、端口范圍等。同樣,兩個(gè)容器除了網(wǎng)絡(luò)方面,其他的如文件系統(tǒng)、進(jìn)程列表等還是隔離的。兩個(gè)容器的進(jìn)程可以通過lo網(wǎng)卡設(shè)備通信。

配置:創(chuàng)建容器時(shí)添加使用 --net=container 指定容器為host模式。

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
查看該容器的進(jìn)程

docker inspect -f '{{.State.Pid}}' 容器ID號(hào)

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

3、none模式

none模式,Docker容器擁有自己的Network Namespace,但是,并不為Docker容器進(jìn)行任何網(wǎng)絡(luò)配置。 也就是說,這個(gè)Docker容器沒有網(wǎng)卡、IP、路由等信息。這種網(wǎng)絡(luò)模式下容器只有l(wèi)o回環(huán)網(wǎng)絡(luò),沒有其他網(wǎng)卡。這種類型的網(wǎng)絡(luò)沒有辦法聯(lián)網(wǎng),封閉的網(wǎng)絡(luò)能很好的保證容器的安全性。

配置:創(chuàng)建容器時(shí)添加使用 --net=none 指定容器為host模式。

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

4、bridge模式

bridge模式為docker的默認(rèn)模式,安裝docker時(shí)就已經(jīng)產(chǎn)出了一個(gè) docerk0 的虛擬網(wǎng)卡,bridge模式容器使用獨(dú)立network Namespace,并連接到docker0虛擬網(wǎng)卡。通過docker0網(wǎng)橋以及iptables nat表配置與宿主機(jī)通信,此模式會(huì)為每一個(gè)容器分配Network Namespace、設(shè)置IP等,并將一個(gè)主機(jī)上的 Docker 容器連接到一個(gè)虛擬網(wǎng)橋上。

(1)當(dāng)Docker進(jìn)程啟動(dòng)時(shí),會(huì)在主機(jī)上創(chuàng)建一個(gè)名為docker0的虛擬網(wǎng)橋,此主機(jī)上啟動(dòng)的Docker容器會(huì)連接到這個(gè)虛擬網(wǎng)橋上。虛擬網(wǎng)橋的工作方式和物理交換機(jī)類似,這樣主機(jī)上的所有容器就通過交換機(jī)連在了一個(gè)二層網(wǎng)絡(luò)中。

(2)從docker0子網(wǎng)中分配一個(gè)IP給容器使用,并設(shè)置docker0的IP地址為容器的默認(rèn)網(wǎng)關(guān)。在主機(jī)上創(chuàng)建一對(duì)虛擬網(wǎng)卡veth pair設(shè)備。 veth設(shè)備總是成對(duì)出現(xiàn)的,它們組成了一個(gè)數(shù)據(jù)的通道,數(shù)據(jù)從一個(gè)設(shè)備進(jìn)入,就會(huì)從另一個(gè)設(shè)備出來。因此,veth設(shè)備常用來連接兩個(gè)網(wǎng)絡(luò)設(shè)備。

(3)Docker將 veth pair 設(shè)備的一端放在新創(chuàng)建的容器中,并命名為 eth0(容器的網(wǎng)卡),另一端放在主機(jī)中, 以 veth* 這樣類似的名字命名, 并將這個(gè)網(wǎng)絡(luò)設(shè)備加入到 docker0 網(wǎng)橋中??梢酝ㄟ^ brctl show 命令查看。

(4)使用 docker run -p 時(shí),docker實(shí)際是在iptables做了DNAT規(guī)則,實(shí)現(xiàn)端口轉(zhuǎn)發(fā)功能。可以使用iptables -t nat -vnL 查看。
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

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

直接使用bridge模式,是無法支持指定IP運(yùn)行docker的,例如執(zhí)行以下命令就會(huì)報(bào)錯(cuò)

docker run -itd --name test3 --network bridge --ip 172.17.0.1 centos:7 /bin/bash

#docker1 為執(zhí)行 ifconfig -a 命令時(shí),顯示的網(wǎng)卡名,如果不使用 --opt 參數(shù)指定此名稱,那你在使用 ifconfig -a 命令查看網(wǎng)絡(luò)信息時(shí),看到的是類似 br-110eb56a0b22 這樣的名字,這顯然不怎么好記。
#mynetwork 為執(zhí)行 docker network list 命令時(shí),顯示的bridge網(wǎng)絡(luò)模式名稱。

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

創(chuàng)建自定義網(wǎng)絡(luò)

#可以先自定義網(wǎng)絡(luò),再使用指定IP運(yùn)行docker
docker network create --subnet=172.18.0.0/16 --opt "com.docker.network.bridge.name"="docker1"  mynetwork

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

docker run -itd --network=mynetwork --ip 172.18.0.100 nginx:1.14

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

docker inspect  容器ID

可以查看容器的IP
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

四、Docker數(shù)據(jù)管理

1、數(shù)據(jù)管理類型

管理 Docker 容器中數(shù)據(jù)主要有兩種方式:數(shù)據(jù)卷(Data Volumes)和數(shù)據(jù)卷容器(DataVolumes Containers)

2、數(shù)據(jù)卷

數(shù)據(jù)卷是一個(gè)供容器使用的特殊目錄,位于容器中??蓪⑺拗鳈C(jī)的目錄掛載到數(shù)據(jù)卷上,,對(duì)數(shù)據(jù)卷的修改操作立刻可見,并且更新數(shù)據(jù)不會(huì)影響鏡像,從而實(shí)現(xiàn)數(shù)據(jù)在宿主機(jī)與容器之間的遷移。數(shù)據(jù)卷的使用類似于 Linux 下對(duì)目錄進(jìn)行的 mount 操作,可以互相同步內(nèi)容

mkdir /var/www
#宿主機(jī)創(chuàng)建目錄
docker run -v /var/www:/data1 --name web1 -it centos:7 /bin/bash
#創(chuàng)建容器centos7并命名為web1.將宿主機(jī)的/var/www目錄掛載到容器中的/data1卷中
# -v 選項(xiàng)表示容器中創(chuàng)建數(shù)據(jù)卷
echo "this is web1" > /data1/a.txt
exit
#數(shù)據(jù)卷中創(chuàng)建內(nèi)容a.txt并退出
cd /var/www/
#進(jìn)入宿主機(jī)的掛載目錄
cat a.txt
#驗(yàn)證容器中數(shù)據(jù)卷內(nèi)容
echo 123>abc.txt
#宿主機(jī)的掛載目錄創(chuàng)建一個(gè)文件夾
docker start web1
docker exec -it web1   /bin/bash 
#開啟web1容器并進(jìn)入
ls /data1
#顯示data1數(shù)據(jù)卷驗(yàn)證其中是否有abc.txt

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

3、數(shù)據(jù)卷容器

–volumes-from 要掛載那個(gè)容器名稱/id號(hào) #用于容器之間的掛載
如果需要在容器之間共享一些數(shù)據(jù),最簡單的方法就是使用數(shù)據(jù)卷容器。數(shù)據(jù)卷容器是一個(gè)普通的容器,專門提供數(shù)據(jù)卷給其他容器掛載使用。

docker run --name web3 -v /data1 -v /data2 -it centos:7 /bin/bash
#創(chuàng)建數(shù)據(jù)卷容器web3 并創(chuàng)建2個(gè)data目錄
echo "this is web3" > /data1/abc.txt
echo "This is web3" > /data2/ABC.txt
#web3容器2個(gè)data下創(chuàng)建文件
docker run -it --volumes-from web3 --name web4 centos:7 /bin/bash
#使用 --volumes-from 來掛載 web3 容器中的數(shù)據(jù)卷到新的容器

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理
Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理

4、端口映射

在啟動(dòng)容器的時(shí)候,如果不指定對(duì)應(yīng)的端口,在容器外是無法通過網(wǎng)絡(luò)來訪問容器內(nèi)的服務(wù)。端口映射機(jī)制將容器內(nèi)的服務(wù)提供給外部網(wǎng)絡(luò)訪問,實(shí)質(zhì)上就是將宿主機(jī)的端口映射到容器中,使得外部網(wǎng)絡(luò)訪問宿主機(jī)的端口便可訪問容器內(nèi)的服務(wù)。

docker run -d --name test1 -P nginx                    #隨機(jī)映射端口(從32768開始)

docker run -d --name test2 -p 43000:80 nginx        #指定映射端口

docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                   NAMES
9d3c04f57a68   nginx     "/docker-entrypoint.…"   4 seconds ago    Up 3 seconds    0.0.0.0:43000->80/tcp   test2
b04895f870e5   nginx     "/docker-entrypoint.…"   17 seconds ago   Up 15 seconds   0.0.0.0:49170->80/tcp   test1

瀏覽器訪問:http://192.168.154.10:43000  、http://192.168.154.10:49170

5、容器的互聯(lián)

容器互聯(lián)是通過容器的名稱在容器間建立一條專門的網(wǎng)絡(luò)通信隧道。簡單點(diǎn)說,就是會(huì)在源容器和接收容器之間建立一條隧道,接收容器可以看到源容器指定的信息。

#創(chuàng)建并運(yùn)行源容器取名web1
docker run -itd -P --name web01 centos:7 /bin/bash

#創(chuàng)建并運(yùn)行接收容器取名web2,使用--link選項(xiàng)指定連接容器以實(shí)現(xiàn)容器互聯(lián)
docker run -itd -P --name web02 --link web01:web01 centos:7 /bin/bash

#登錄web02容器
docker exec -it web02 bash

#測(cè)試連通性
ping web01

Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理文章來源地址http://www.zghlxwxcb.cn/news/detail-471247.html

到了這里,關(guān)于Docker基本管理與網(wǎng)絡(luò)以及數(shù)據(jù)管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Docker網(wǎng)絡(luò)(網(wǎng)絡(luò)通信),資源控制(CPU優(yōu)化,內(nèi)存優(yōu)化,磁盤優(yōu)化),數(shù)據(jù)管理(數(shù)據(jù)卷,端口映射,容器互聯(lián))

    目錄 docker網(wǎng)絡(luò) 網(wǎng)絡(luò)實(shí)現(xiàn)原理 網(wǎng)絡(luò)實(shí)現(xiàn)實(shí)例 網(wǎng)絡(luò)模式 查看Docker中的網(wǎng)絡(luò)列表: 指定容器網(wǎng)絡(luò)模式 模式詳解 Host模式(主機(jī)模式): Container模式(容器模式): None模式(無網(wǎng)絡(luò)模式): Bridge模式(橋接模式): 自定義網(wǎng)絡(luò): cpu優(yōu)化概述 1. 資源限制: 2. CPU 實(shí)時(shí)調(diào)度策略:

    2024年01月16日
    瀏覽(29)
  • 用C語言實(shí)現(xiàn)一個(gè)學(xué)生信息管理系統(tǒng),學(xué)生基本信息包括學(xué)號(hào)、姓名、三門課成績以及個(gè)人平均成績,有不超過70個(gè)學(xué)生的數(shù)據(jù),要求能夠建立學(xué)生基本信息(結(jié)構(gòu)體數(shù)組)、按學(xué)號(hào)查詢學(xué)生基本信息、計(jì)算學(xué)生個(gè)人平均成績...

    下面是一種使用 C 語言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的方案: 首先,定義結(jié)構(gòu)體存儲(chǔ)學(xué)生的基本信息,其中包括學(xué)號(hào)、姓名、三門課成績和平均成績。例如: 然后,定義結(jié)構(gòu)體數(shù)組來存儲(chǔ)最多70個(gè)學(xué)生的信息。 接下來,可以編寫函數(shù)來實(shí)現(xiàn)各種功能。例如,可以定義函數(shù)來建立學(xué)

    2024年02月03日
    瀏覽(26)
  • 【Docker】Docker的數(shù)據(jù)管理

    【Docker】Docker的數(shù)據(jù)管理

    管理 Docker 容器中數(shù)據(jù)主要有兩種方式:數(shù)據(jù)卷(Data Volumes)和數(shù)據(jù)卷容器(DataVolumes Containers)。 數(shù)據(jù)卷是一個(gè)供容器使用的特殊目錄,位于容器中??蓪⑺拗鳈C(jī)的目錄掛載到數(shù)據(jù)卷上,對(duì)數(shù)據(jù)卷的修改操作立刻可見,并且更新數(shù)據(jù)不會(huì)影響鏡像,從而實(shí)現(xiàn)數(shù)據(jù)在宿主機(jī)與容

    2024年02月16日
    瀏覽(24)
  • Docker數(shù)據(jù)卷和數(shù)據(jù)管理

    Docker 容器的數(shù)據(jù)放哪里呢? 本文帶你理解如何在 Docker 內(nèi)部以及容器之間管理數(shù)據(jù)。 數(shù)據(jù)卷(Data Volume) 數(shù)據(jù)卷的使用,類似于 Linux 下對(duì)目錄或文件進(jìn)行 mount 數(shù)據(jù)卷(Data Volume)是一個(gè)可供一個(gè)或多個(gè)容器使用的特殊目錄,它繞過 UFS,可以提供很多有用的特性: 數(shù)據(jù)卷可以在容

    2024年01月16日
    瀏覽(21)
  • 【Docker】Docker學(xué)習(xí)⑤ - Docker數(shù)據(jù)管理

    參考:【Docker】Dokcer學(xué)習(xí)① - 簡介 參考:【Docker】Docker學(xué)習(xí)② - Docker安裝及基礎(chǔ)命令介紹 參考:【Docker】Docker學(xué)習(xí)③ - Docker鏡像管理 參考:【Docker】Docker學(xué)習(xí)④ - Docker鏡像與制作 如果運(yùn)行中的容器修改如果生成了新的數(shù)據(jù)或者修改了現(xiàn)有的一個(gè)已經(jīng)存在的文件內(nèi)容,那么新

    2024年01月23日
    瀏覽(27)
  • Docker 的數(shù)據(jù)管理

    緒論 管理 Docker 容器中數(shù)據(jù)主要有兩種方式:數(shù)據(jù)卷(Data Volumes)和數(shù)據(jù)卷容器(DataVolumes Containers)。 1.?dāng)?shù)據(jù)卷 數(shù)據(jù)卷是一個(gè)供容器使用的特殊目錄,位于容器中??蓪⑺拗鳈C(jī)的目錄掛載到數(shù)據(jù)卷上,對(duì)數(shù)據(jù)卷的修改操作立刻可見,并且更新數(shù)據(jù)不會(huì)影響鏡像,從而實(shí)現(xiàn)數(shù)

    2024年02月07日
    瀏覽(25)
  • Docker 數(shù)據(jù)管理

    Docker 數(shù)據(jù)管理

    1.數(shù)據(jù)卷 案例展示 2.數(shù)據(jù)卷容器 案例展示 1.概念 2.操作 1.基于現(xiàn)有鏡像創(chuàng)建 2.基于本地模板創(chuàng)建 3.基于Dockerfile 創(chuàng)建 ①聯(lián)合文件系統(tǒng)(UnionFS) ②鏡像加載原理 ③Dockerfile 操作常用的指令 4.dockerfile編寫步驟 dockerfile編寫案例

    2024年02月16日
    瀏覽(39)
  • docker數(shù)據(jù)管理操作

    docker數(shù)據(jù)管理操作

    主要有兩種: 數(shù)據(jù)卷 數(shù)據(jù)卷容器 在 Docker 中,數(shù)據(jù)管理是非常重要的,因?yàn)槿萜鞅旧硎桥R時(shí)的,當(dāng)容器停止或刪除時(shí),容器內(nèi)部的數(shù)據(jù)也會(huì)丟失。為了持久化數(shù)據(jù)并方便數(shù)據(jù)共享和重用,Docker 提供了兩種主要的數(shù)據(jù)管理方式:數(shù)據(jù)卷(Volumes)和數(shù)據(jù)卷容器(Volume Containers)

    2024年04月13日
    瀏覽(22)
  • Docker(六)數(shù)據(jù)管理

    Docker(六)數(shù)據(jù)管理

    作者主頁: 正函數(shù)的個(gè)人主頁 文章收錄專欄: Docker 歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦! 這一章介紹如何在 Docker 內(nèi)部以及容器之間管理數(shù)據(jù),在容器中管理數(shù)據(jù)主要有兩種方式: 數(shù)據(jù)卷(Volumes) 掛載主機(jī)目錄 (Bind mounts) 數(shù)據(jù)卷 是一個(gè)可供一個(gè)或多個(gè)容器使用的特殊目錄

    2024年01月21日
    瀏覽(32)
  • Docker數(shù)據(jù)管理(數(shù)據(jù)卷與數(shù)據(jù)卷容器)

    Docker數(shù)據(jù)管理(數(shù)據(jù)卷與數(shù)據(jù)卷容器)

    目錄 一、數(shù)據(jù)卷(Data Volumes) 1、概述 2、原理 3、作用 4、示例:宿主機(jī)目錄 /var/test 掛載同步到容器中的 /data1 二、數(shù)據(jù)卷容器(DataVolumes Containers) 1、概述 2、作用 3、示例:創(chuàng)建并使用數(shù)據(jù)卷容器 三、容器互聯(lián):--link 管理 Docker 容器中數(shù)據(jù)主要有兩種方式: 數(shù)據(jù)卷(Da

    2024年02月11日
    瀏覽(51)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包