Docker ----基本管理

Docker ----基本管理

一.Docker 介紹

【1】.Docker

Docker 是一個開源的應用容器引擎:讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。是一個輕量級的“虛擬機”,容器是完全使用沙箱機制,相互之間不會有任何接口。

【2】.Docker與虛擬機的區別

相同點:

1.可在不同的主機之間遷移

2.都具備root的權限

3.都可以遠程操作和控制

4.都有備份,回滾操作

不同點:

1.操作系統上:

            **docker**:在性能上有優勢,可以輕易的運行多個操作系統;
             虛擬機:可以安裝任何系統,但是性能不及容器。

2.原理:

docker:和宿主機共享內核,所有容器運行在容器引擎之上,容器並非一個完整的操作系統,所有容器共享操作系統,在進程級進行隔離。

虛擬機:每一個虛擬機都建立在虛擬的硬件之上,提供指令級的虛擬,具備一個完整的操作系統。

3.優點:

docker:高效、集中。一個硬件節點可以運行數以百計的的容器,非常節省資源,QoS 會盡量滿足,但不保證一定滿足。內核由提供者升級,服務由服務提供者管理。

虛擬機:對操作系統具有絕對權限,對系統版本和系統升級具有完全的管理權限。具有一整套的的資源:CPU、RAM 和磁盤。QoS 是有保證的,每一個虛擬機就像一個真實的物理機一樣,可以實現不同的操作系統運行在同一物理節點上。

4.缺點:

docker:對內核沒有控制權限,只有容器的提供者具備升級權限。只有一個內核運行在物理節點上,幾乎不能實現不同的操作系統混合。容器提供者一般僅提供少數的幾個操作系統。

虛擬機:每一臺虛擬機都具有更大的負載,耗費更多的資源,用戶需要全權維護和管理。一臺物理機上能夠運行的虛擬機非常有限。

【3】.Docker 的使用場景

打包應用程序簡化部署

可脫離底層硬件任意遷移

【4】.核心概念

鏡像,容器,倉庫

二.centos安裝Docker環境

【1】.Centos 安裝Docker 的兩種方式

使用 curl 獲得 Docker 的安裝腳本進行安裝;

使用 yum 倉庫來安裝 Docker(推薦使用!!!)。

【2】.安裝部署19版的docker

【1】 安裝依賴包
yum install yum-utils device-mapper-persistent-data lvm2 -y

【2】 設置阿里雲鏡像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

【3】 安裝Docker-CE社區版本
 yum install docker-ce -y

【4】 關閉核心防護
setenforce 0
### 永久關閉防火牆(網絡資源控制時,暫時不關閉)
vim /etc/sysconfig/selinux
SELINUX=disabled

【5】 啓動docker
systemctl start docker.service
systemctl enable docker.service

【6】查看docker存放的位置和環境變量(默認能識別的路徑)
which docker
/usr/bin/docker
echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin

Docker ----基本管理

【3】.鏡像加速(環境優化)

此操作會讓我們下載鏡像時,速度會有明顯的加速

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://0eu67kas.mirror.aliyuncs.com"]
}
EOF

### /etc/docker/生成一個daemon.json
### 重新加載進程
systemctl daemon-reload
systemctl restart docker

【4】.網絡優化

//數據轉換
vim /etc/sysctl.conf    ### 末尾添加
net.ipv4.ip_forward=1

sysctl -p

service network restart
systemctl restart docker

這樣Docker的基本環境搭建好了 !~!

三.鏡像的基本命令

【1】查看版本

docker version

【2】搜索鏡像

docker search 鏡像名

docker search nginx

Docker ----基本管理

【3】下載鏡像

docker pull 鏡像

 docker pull nginx

 ## 下載後存在在 cd /var/lib/docker/image/overlay2/
[root@localhost overlay2]# ls
distribution  imagedb  layerdb  repositories.json

Docker ----基本管理

【4】查看已經下載的鏡像

docker images

Docker ----基本管理

【5】獲取鏡像信息

docker inspect 鏡像的ID

Docker ----基本管理

【6】創建鏡像新標籤

docker tag 鏡像標籤 新的標籤

docker tag nginx:latest nginx:new

Docker ----基本管理

【7】刪除鏡像

docker rmi 鏡像:標籤

docker rmi nginx:new 

Docker ----基本管理

【8】把鏡像存放到指定的路徑或目錄或文件下

docker save -o /路徑/文件名 鏡像名稱:標籤

docker save -o /opt/nginx nginx:latest

Docker ----基本管理

【9】載入鏡像(前提鏡像刪除後)

docker load < 文件名

docker load < nginx

Docker ----基本管理

四.容器的基本命令

【1】創建容器

docker create -it 鏡像名稱 /bin/bash

-i:容器的標準輸入保持打開

-t:讓docker分配一個僞終端

docker create -it nginx:latest /bin/bash

【2】查看容器

docker ps -a
// -a:列出最近一次啓動的容器

Docker ----基本管理

【3】啓動容器

docker start 容器ID

docker start 0660ae2f54b8

Docker ----基本管理

【4】停止容器

docker stop 容器ID

【5】進入容器

第一種:docker run -it 鏡像名稱 /終端

docker run -it nginx:latest /bin/bash
root@6d339ab9beec:/# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

// 退出容器:exit

第二種:docker exec -it 容器ID /終端(容器要在開啓狀態)

docker exec -it 0660ae2f54b8 /bin/bash
root@0660ae2f54b8:/# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

【6】導出容器

docker export 容器ID > 文件名

docker export 0660ae2f54b8 > nginx_a

Docker ----基本管理

【7】導入容器

cat 文件名 | docker import - 鏡像

只會生成鏡像,不會創建容器

docker import - nginx:web

Docker ----基本管理

【8】刪除容器

docker rm 容器ID

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章