docker的簡單操作和端口映射


一:簡介

Docker鏡像

在Docker中容器是基於鏡像啟動的

鏡像是啟動容器的核心

鏡像采用分層設計,最頂層為讀寫層

使用快照COW技術,確保底層不丟失

通過ifconfig(ip  a)來查看docker0是否存在

 

 

docker已經啟動成功

 

二:鏡像的操作命令

 

 

注意:最后一組命令  docker  tag 並不是把名稱或者是標簽改了,而是會新建一個鏡像

 上面是總結的一些常用命令

 

(1)以mysql為例,使用docker search命令

命令:docker search mysql  

 

 

 其中     NAME是指mysql的各個版本名字       DESCRIPTION是指版本說明        STARS是使用率        OFFICIAL是否為官方

查找其他軟件包也是一樣的操作比如:tomcat

命令:docker search  tomcat               #也是同樣的

 

 

 

(2)然后使用pull命令下載一個鏡像

命令:docker  pull  tomcat        #下載tomcat鏡像

圖中看見pull complete 就是下載成功

我們執行docker images命令來看一下

命令:docker images

 

 

標題中:REPOSITORY是指鏡像倉庫     TAG是指版本(latest:最新的)   IMAGE ID是指鏡像ID號   CREATED是指創建的時間    SIZE是指內存大小

 

三:容器的操作命令

 

 注意:還有一組命令  itd   it  

itd:是放在后台運行

it:是直接使用,一旦退出,容器自動關閉

前面說過容器是基於鏡像啟動的,鏡像是啟動容器的核心

現在docker里並沒有容器可以使用ps命令查看容器列表

命令:docker  ps

 

 

運行容器的格式

使用格式:docker run --name container-name:tag -d image-name

1.--name:自定義容器名,不指定時,docker 會自動生成一個名稱

2.-d:表示后台運行容器

3.image-name:指定運行的鏡像名稱以及 Tag

 

現在啟動tomcat

命令:docker run --name Tomcat -d tomcat:latest

 

 

現在就是啟動成功,下面一長串字母數字是容器的ID號,然后用ps命令查看一下容器列表

1.CONTAINER ID:容器 di

 

2.IMAGE:鏡像名稱:Tag

3.COMMAND:命令

4.CREATES:容器創建的時刻

5.STATUS:容器當前的狀態 (up 表示運行、Exited 表示停止運行)

6.PORTS:鏡像程序使用的端口號和協議

注意:此時雖然容器已經在運行中,Tomcat 鏡像占用8080端口,但是這個8080端口是 Docker 容器內部的端口,並不是服務器的端口,

所以必須做 端口映射 將服務器的實際端口映射到 Docker 容器中的端口才能訪問。

 

停止容器

使用 docker stop container-name/container-id 命令進行停止容器運行,指定容器名或者容器 id 也可以的

命令:docker stop 83e141bd0985

ps的意思是:查看當前運行的容器

ps -a的意思是:所有容器都要顯示出來,不管有沒有運行的還是沒運行的

ps -q的意思是:只顯示運行的容器

 

 

 

啟動容器

使用 docker start container-name/container-id 命令啟動停止運行的容器,同理可以根據 容器名或者 容器 id 進行啟動

命令:docker start 83e141bd0985

 

 

 

刪除容器

使用 docker rm container-id 命令 刪除容器,刪除容器前,必須先停止容器運行,根據 容器 id 進行刪除

rm 參數是刪除容器,rmi 參數是刪除鏡像

鏡像運行在容器中,docker 中可以運行多個互不干擾的容器,可以將同一個鏡像在多個容器中進行運行

命令:docker rm Tomcat

 

 

 

端口映射

使用:docker run --name container-name:tag -d -p 服務器端口:Docker 端口 image-name

1.--name:自定義容器名,不指定時,docker 會自動生成一個名稱

2.-d:表示后台運行容器

3.image-name:指定運行的鏡像名稱以及 Tag

4.-p 表示進行服務器與 Docker 容器的端口映射,默認情況下容器中鏡像占用的端口是 Docker 容器中的端口與外界是隔絕的,必須進行端口映射才能訪問

現在先利用iptables開放兩個端口

命令:iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
命令:iptables -A INPUT -p tcp --dport 8090 -j ACCEPT
命令:iptables -L -n                 #查看防火牆規則

 

 

然后 運行了 兩個容器,容器名稱分別指定為 "Tomcat1"、"Tomcat"、兩個容器中都是同一個  tomcat:latest鏡像

兩個容器都指定了端口映射,分別是8080、8090 ,都會轉發到 Docker 容器內部

命令:docker run --name Ttomcat1 -d -p 8080:8080 tomcat:lates

 

命令:docker run --name Ttomcat -d -p 8090:8080 tomcat:latest

 

啟動成功之后,ip addr show 查一下服務器 ip 地址(192.168.175.102),然后就能從物理機上訪問了

命令:ip addr show

 

物理機訪問192.168.175.102:8080

 

 

 

 物理機訪問192.168.175.102:8090

 

 

容器日志

使用 docker logs container-name/container-id 命令 可以查看容器日志信息,指定容器名或者容器id就可以了

命令:docker logs Ttomcat              #把容器啟動之后就可以查看日志信息

 

我要這天再遮不住我眼,要這地再埋不了我心。要這天下眾生都明白我意,要那諸佛都煙消雲散!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM