日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指。

發布時間:2025/3/21 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker簡介

?

  • Docker是開源應用容器引擎,輕量級容器技術。

  • 基于Go語言,并遵循Apache2.0協議開源

  • Docker可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的Linux系統上,也可以實現虛擬化

  • 容器完全使用沙箱技術,相互之間不會有任何接口

  • 類似于虛擬機技術(vmware、vitural),但docker直接運行在操作系統(Linux)上,而不是運行在虛擬機中,速度快,性能開銷極低

白話文,簡介就是:

Docker支持將軟件編譯成一個鏡像,然后在鏡像中各種軟件做好配置,將鏡像發布出去,其他使用者可以直接使用這個鏡像。?
運行中的這個鏡像稱為容器,容器啟動是非常快速的。類似windows里面的ghost操 作系統,安裝好后什么都有了。

Docker核心概念

?

  • docker鏡像(Images):Docker鏡像是用于創建Docker容器的模板

  • docker容器(Container):鏡像啟動后的一個實例稱為容器,容器是獨立運行的一個或一組應用,

  • docker客戶端(Client):客戶端通過命令行或其他工具使用Docker API(https://docs.docker.com/reference/api/docker_remote_api)與Docker的守護進程進行通信

  • docker主機(Host):一個物理或虛擬的機器用來執行Docker守護進程和容器

  • docker倉庫(Registry):Docker倉庫用來存儲鏡像,可以理解為代碼控制中的代碼倉庫,Docker Hub(https://hub.docker.com) 提供了龐大的鏡像集合供使用

Docker安裝及啟停

1. 查看centos版本

Docker 要求 CentOS 系統的內核版本高于 3.10

通過命令:

uname?-r

查看當前centos版本,如版本不符,需升級系統版本

2 升級軟件包及內核(可選)

yum?update

3. 安裝docker

yum?install?docker

4. 啟動docker

systemctl?start?docker

5. 將docker服務設為開機啟動

systemtctl?enable?docker

5. 停止docker

systemtctl?stop?docker

Docker常用命令及操作

4.1 docker鏡像命令

通常情況下,Docker的鏡像都放在Docker的官網 Docker Hub上,點此前往官網

4.1.1 鏡像檢索

除了可以在Docker Hub上搜索鏡像外,還可以通過命令?docker search xxx?進行搜索,下面以 mysql 為例:

docker?search?mysql

結果如下:

?

4.1.2 鏡像下載

下載命名為:docker pull 鏡像名:tag,其中tag多為系統的版本,可選的,默認為least。

docker?pull?mysql

4.1.3 鏡像列表

獲取已下載鏡像列表命令:docker images

?

其中,

RESPOSITORY為鏡像名
TAG為鏡像版本,least代表最新版
IMAGE_ID為該鏡像唯一ID
CREATED為該鏡像創建時間
SIZE為該鏡像大小

4.1.1 鏡像刪除

刪除指定鏡像:

docker?rmi?image-id

刪除所有鏡像:

docker?rmi?$(docker?images?-q)

4.2 容器操作

可以理解為軟件下載(下載QQ)-->安裝(QQ)-->運行(QQ)的過程。
下面以Tomcat為例

4.2.1 搜索鏡像

docker?search?tomcat

4.2.2 下載鏡像

docker?pull?tomcat

4.2.3 根據鏡像啟動容器

最簡單的運行鏡像為容器的命令如下:

docker?run?--name?container-name?-d?image-name

運行一個容器,使用docker run命令即可。

-- name:為容器起一個名稱
-d:detached,執行完這句命令后,控制臺將不會阻塞,可以繼續輸入命令操作
image-name:要運行的鏡像名稱

4.2.4 查看運行中容器

可通過如下命令,查看運行中的容器列表:

docker?ps

?

CONTAINER ID:啟動時生成的ID
IMAGE:該容器使用的鏡像
COMMAND:容器啟動時執行的命令
CREATED:容器創建時間
STATUS:當前容器狀態
PORTS:當前容器所使用的默認端口號
NAMES:啟動時給容器設置的名稱

4.2.5 停止運行中容器

通過以下命令來停止運行中的容器:

docker?stop?container-name/container-id

4.2.5 查看所有的容器

通過以下命令可查看運行和停止的所有容器:

docker?ps?-a

4.2.6 啟動容器

通過以下命令啟動容器:

docker?start?container-name/container-id

4.2.7 刪除容器

刪除單個容器:

docker?rm?container-id

刪除所有容器:

docker?rm?$(docker?ps?-a?-q?)

4.2.8 啟動做端口映射的容器

Docker運行容器之后卻發現沒IP,沒端口,也就是說,啟動容器的時候如果不指定對應參數,在容器外部是無法通過網絡來訪問容器內的網絡應用和服務的。 所以需要通過Docker端口映射來實現網絡訪問。

Docker的端口映射通過-p參數實現,命令如下:

docker?run?--name?tomcat1?-d?tomcat docker?run?--name?tomcat2?-d?-p?8888:8080?tomcat

如上,就把主機端口8888請求映射到Docker容器內部端口8080了。

執行完這兩條命令后,通過docker ps查看:

?

通過PORTS可以看出,tomcat2是做了端口映射的,tomcat1是沒進行映射過的。

分別通過瀏覽器訪問:

http://*.*.*.*:8080/?// tomcat1默認端口

http://*.*.*.*:8888/?// 做過端口映射的Tomcat2,8888會轉發請求到tomcat2的8080

結果如下:

第一個請求是無法請求到的,原因開篇處說過了。 第二個請求是可以正常進行請求的,會由tomcat2容器進行處理

端口映射格式:

ip:hostport:containerport??#指定ip、指定主機port、指定容器port ip::containerport????????#指定ip、未指定主機port、指定容器port hostport:container?????????#未指定ip?port、指定主機port、指定容器port??

4.2.9 查看容器日志

查看當前容器日志,可通過如下命令:

docker?logs?container-id/container-name

4.2.10 查看端口映射

可以通過如下命令查看容器映射了哪些端口及協議:

docker?port?container-id

示例:

[root@docker?~]#docker?port?46114af6b44e 8080/tcp?->?0.0.0.0:8888 [root@docker?~]#docker?port?cea668ee4db0

如果返回空,則代表沒進行端口映射。

4.2.11 登錄退出容器

運行中的容器其實是一個功能完備的Linux操作系統,所以我們可以像常規系統一樣進行登陸及退出操作。

登錄命令為:

docker?exec?-it?container-id/container-name?bash

退出命令為:

exit

4.2.12 更多操作命令

更多命令可以參考:
https://docs.docker.com/engine/reference/commandline/docker/

總結

以上是生活随笔為你收集整理的Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。