Doker安裝及避坑

2021-10-08 22:43:06 字數 4134 閱讀 5914

docker從1.13版本之後採用時間線的方式作為版本號,分為社群版ce和企業版ee。

社群版是免費提供給個人開發者和小型團體使用的,企業版會提供額外的收費服務,比如經過官方測試認證過的基礎設施、容器、外掛程式等。

社群版按照stable和edge兩種方式發布,每個季度更新stable版本,如17.06,17.09;每個月份更新edge版本,如17.09,17.10。

docker支援以下的centos版本:

centos 7 (64-bit)

centos 6.5 (64-bit) 或更高的版本

前提條件

目前,centos 僅發行版本中的核心支援 docker。

docker 執行在 centos 7 上,要求系統為64位、系統核心版本為 3.10 以上。

docker 執行在 centos-6.5 或更高的版本的 centos 上,要求系統為64位、系統核心版本為 2.6.32-431 或者更高版本。

檢視自己的核心

uname命令用於列印當前系統相關資訊(核心版本號、硬體架構、主機名稱和作業系統型別等)。

檢視已安裝的centos版本資訊(centos6.8有,centos7無該命令)

docker是乙個client-server結構的系統,docker守護程序執行在主機上, 然後通過socket連線從客戶端訪問,守護程序從客戶端接受命令並管理執行在主機上的容器。 容器,是乙個執行時環境,就是我們前面說到的貨櫃。

(1)docker有著比虛擬機器更少的抽象層。由亍docker不需要hypervisor實現硬體資源虛擬化,執行在docker容器上的程式直接使用的都是實際物理機的硬體資源。因此在cpu、記憶體利用率上docker將會在效率上有明顯優勢。

1、docker 要求 centos 系統的核心版本高於 3.10 ,檢視本頁面的前提條件來驗證你的centos 版本是否支援 docker 。

通過uname -r命令檢視你當前的核心版本

$ uname -r
2、使用 root 許可權登入 centos。確保 yum 包更新到最新。

$ sudo yum update
3、解除安裝舊版本(如果安裝過舊版本的話)

$ sudo yum remove docker  docker-common docker-selinux docker-engine

5、設定yum源

$ sudo yum-config-manager --add-repo
6、可以檢視所有倉庫中所有docker版本,並選擇特定版本安裝

$ yum list docker-ce --showduplicates |

sort -r

7、安裝docker

$ sudo yum install docker-ce  #由於repo中預設只開啟stable倉庫,故這裡安裝的是最新穩定版

$ sudo yum install

# 例如:sudo yum install docker-ce-***

8、啟動並加入開機啟動

$ sudo systemctl start docker

$ sudo systemctl enable docker

9、驗證安裝是否成功(有client和service兩部分表示docker安裝啟動都成功了)

$ docker version
10、配置映象加速

vim /etc/docker/daemon.json

這裡需要自己註冊阿里雲或者網易雲賬號,找到自己的映象加速位址

#阿里雲

systemctl daemon-reload

systemctl restart docker

如果從結果中看到了配置的–registry-mirror引數說明配置成功,如下所示:

11、 解除安裝

systemctl stop docker 

yum -y remove docker-ce

rm -rf /var/lib/docker

1、因為之前已經安裝過舊版本的docker,在安裝的時候報錯如下:

transaction check error:

file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

2、解除安裝舊版本的包

$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
3、再次安裝docker

$ sudo yum install docker-ce
另乙個錯誤:

報錯:job for docker.service failed because the control process exited with error code.

job for docker.service failed because the control process exited with error code. 

see "systemctl status docker.service" and "journalctl -xe"

for details.

原因:vim /etc/docker/daemon.json 中的json格式錯誤,修改之後重啟即可

[root@bigdata01 ~]

# systemctl start docker

[root@bigdata01 ~]

# systemctl status docker

loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)

active: active (running) since sat 2020-08-08 13:51:14 cst; 7s ago

docs:

main pid: 29689 (dockerd)

tasks: 8

memory: 37.7m

cgroup: /system.slice/docker.service

└─29689 /usr/bin/dockerd -h fd:// --containerd=/run/containerd/containerd.soc

參考:

docker 安裝:

阿里雲映象加速:

網易雲映象加速:

pagehelper的使用及避坑

pagehelper是乙個非常簡單實用的分頁外掛程式,但是還是有乙個小坑在裡面的,話不多說,直接上乾貨。pageinfo pageinfo pagehelper.startpage pagenum,pagesize doselectpageinfo query 引數說明 pagenum 第幾頁 pa...

旅行者安裝避坑

作為乙個滲透人員,在每次滲透 的時候都要拿出一堆黑客工具,比如nmap,awvs,御劍等工具進行測試,由於實在厭煩了一些低階重複性的工作,趁著2020年新年建立了乙個工具集合平台,將滲透測試常見的網域名稱掃瞄,埠掃瞄,目錄掃瞄,漏洞掃瞄的工具集合在一起 目前平台還在持續開發中,肯定有不少問題和需要改...

python避坑 python避坑指南,持續更新

python安裝,匯入,和使用避坑指南,持續更新 bestmrright原創 因為python庫太多,開發者眾多,有些庫引用了其他庫,隨著其他庫不斷更新,有些類和方法會修改,有些庫作廢,有些庫被收入進python,所以使用時候經常有坑需要迴避。在此建貼,持續更新,以便後來者避坑,希望來著補充。安裝坑...