Docker容器服務搭建(一)

Auler發表於2024-03-05

前言

  Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的Linux或Windows作業系統的機器上,也可以實現虛擬化。

  容器是完全使用沙箱機制,相互之間不會有任何介面。

特點

  輕量級、映象管理、環境一致性、可移植性、應用環境隔離、應用資源限制

一、安裝

  系統:CentOS7.x

  安裝時,需要先確認下系統內預設源的docker,搜尋出預設源的包,只是舊版本。

~]# yum search docker  

  一般舊版本很多新特徵沒有,我們選擇新版下載。由於外網網路不太穩定,一般都選擇國內映象源。

~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo \
            -O /etc/yum.repos.d/docker-ce.repo     #載入阿里雲源到本地yum倉庫源

  接著執行下載安裝即可。

~]# yum install docker-ce –y     #ee企業版,ce是社群版(一般企業都用這)
~]# yum install docker-ce-24.0.0 –y  #上面預設最新版,也可以指定版本
~]# systemctl start docker #開啟docker ~]# systemctl enable docker #開機啟動docker ~]# docker info #安裝完可以檢視資訊

  大致會看到這些資訊(部分資訊),一般就成功了。

二、目錄

  安裝完之後,具體安裝的目錄需要了解下。後續很多工作可能會涉及。預設目錄/var/lib/docker,進入目錄看到以下列表。簡單介紹幾個基礎目錄,其他則去官網檢視。

  containers是儲存容器資訊,image是docker映象,network是docker網路配置,volumes是卷的資訊,主要儲存容器永久資料。

三、部署專案

  這裡專案為Nginx為例,先用docker命令檢視下容器情況。然後部署完之後在檢視是否成功,然後訪問容器專案。

~]# docker ps #檢視本地啟動了哪些容器,及其資訊
~]# docker ps -a #包含不在執行的容器

  一般部署時,會先從本地拉取映象(若已經存在),然後在遠端下載容器映象,不同版本映象也不同。docker run是docker主要的命令之一,所以很多操作都會以run進行

~]# docker run -d --name nginxName -p 80:80 nginx:1.23 #若建立並執行nginx容器,-d後臺執行 --name容器名稱 -p對映 宿主埠:容器埠,指定版本1.23

  若檢視執行成功,則直接檢視日誌,然後進入容器。使用ls檢視,發現多docker-entrypoint.d 和 docker-entrypoint.sh,

  前者是一個目錄,下面含有多個sh檔案,有些需要啟動就執行某些檔案,則需要放到這個資料夾中。後者就是容器的啟動檔案。

~]# docker ps -a #儘量帶-a,因為有些容器沒啟動成功,ps看不到
~]# docker logs nginxName –f #檢視nginx日誌
~]# docker exec –it nginxName bash #進入容器

  Nginx的配置檔案在/etc/nginx下面,專案檔案在/usr/share/nginx/html下面。

  訪問Nginx專案,可以使用外部網頁(若是公網),或者在宿主命令列輸入curl訪問。

~]# curl  127.0.0.1:80 #就可以看到nginx頁面資訊

  以上就是docker容器服務的基礎搭建,後面會整理容器的深入使用。

network

相關文章