前言
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