docker mysql映射端口映射_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????????????? #把容器啟動之后就可以查看日志信息
補充部分:如果容器啟動失敗先查看日志
命令格式:docker log + 容器ID /bin/bash
總結
以上是生活随笔為你收集整理的docker mysql映射端口映射_docker的简单操作和端口映射的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 导出gbk_mysqldum
- 下一篇: python开始print_当你使用pr