docker2
二、Docker安裝及基礎命令介紹
Docker版本選擇 :https://github.com/moby/moby
2.1:下載rpm包安裝
官方rpm包下載地址 :
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
二進制下載地址:
https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/
阿里云鏡像下載地址:
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/
官方安裝文檔:

二進制安裝:
https://download.docker.com/linux/static/stable/x86_64/
wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.9.tgz tar xvf docker-18.09.9.tgz root@ubuntu:/usr/local/src/docker# ll total 181556 drwxrwxr-x 2 ubuntu ubuntu 4096 Sep 5 00:56 ./ drwxr-xr-x 3 root root 4096 Feb 16 22:49 ../ -rwxr-xr-x 1 ubuntu ubuntu 32184728 Sep 5 00:56 containerd* -rwxr-xr-x 1 ubuntu ubuntu 5763776 Sep 5 00:56 containerd-shim* -rwxr-xr-x 1 ubuntu ubuntu 18045144 Sep 5 00:56 ctr* -rwxr-xr-x 1 ubuntu ubuntu 56068241 Sep 5 00:56 docker* -rwxr-xr-x 1 ubuntu ubuntu 62197384 Sep 5 00:56 dockerd* -rwxr-xr-x 1 ubuntu ubuntu 764144 Sep 5 00:56 docker-init* -rwxr-xr-x 1 ubuntu ubuntu 2716775 Sep 5 00:56 docker-proxy* -rwxr-xr-x 1 ubuntu ubuntu 8144888 Sep 5 00:56 runc* root@ubuntu:/usr/local/src/docker# cp ./* /usr/bin/ root@ubuntu:/usr/local/src/docker# docker version Client: Docker Engine - Community Version: 18.09.9 API version: 1.39 Go version: go1.11.13 Git commit: 039a7df9ba Built: Wed Sep 4 16:50:02 2019 OS/Arch: linux/amd64 Experimental: false Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? scp /lib/systemd/system/docker.service /lib/systemd/system/docker.socket /lib/systemd/system/containerd.service 192.168.134.182:/lib/systemd/system/ 首先開啟 containerd systemctl start containerd.service 然后開啟docker服務 root@ubuntu:/lib/systemd/system# ps -ef | grep docker root 2306 1 0 20:00 ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
2.2:docker 存儲引擎
目前 docker 的默認存儲引擎為 overlay2,歷史更新信息: https://github.com/moby/moby/blob/master/CHANGELOG.md 官方文檔關于存儲引擎的選擇文檔: https://docs.docker.com/storage/storagedriver/select-storage-driver/
存儲驅動類型:
AUFS(AnotherUnionFS)是一種 Union FS,是文件級的存儲驅動。 UnionFS 就是把不同物理位置的目錄合并 mount 到同一個目錄中。簡單來說就是支持將 不同目錄掛載到同一個虛擬文件系統下的文件系統。
overlay:一種 Union FS 文件系統,Linux 內核 3.18 后支持。
overlay2: Overlay 的升級版.
devicemapper:是 CentOS 和 RHEL 的推薦存儲驅動程序,最大存儲空間為107GB,每個容器默認10G。

更改存儲引擎為overlay時:所有之前的數據會丟失。
如果磁盤分區為ext4,那么可以直接修改為overlay模式。
如果 docker 數據目錄是一塊單獨的磁盤分區而且是 xfs 格式的,那么需要在磁盤格式化的時候加上參數-n ftype=1,否則后期在啟動容器的時候會報錯不支持 dtype。

error:
![]()

掛載目錄在/var/lib/docker

這里docker的啟動文件需要修改:
之前的數據全部丟失:(所以數據要備份)

進程被占用:fuser,如果沒有安裝yum install psmisc。

2.3:docker 服務進程(版本Ubuntu18.09)

有四個進程:
dockerd:被 client 直接訪問,其父進程為宿主機的 systemd 守護進程。
docker-proxy:實現容器通信,其父進程為 dockerd 。
containerd:被 dockerd 進程調用以實現與 runc 交互。
containerd-shim:真正運行容器的載體,其父進程為 containerd。
容器的創建與管理過程:

2.4:docker 鏡像加速配置
2.4.1:獲取加速地址
瀏覽器打開 http://cr.console.aliyun.com,注冊或登錄阿里云賬號,點擊左側的 鏡像加速器,將會得到一個專屬的加速地址,而且下面有使用配置說明:
(這里不展示了)
2.4.2:生成配置文件:
[root@docker-server1 ~]# mkdir -p /etc/docker [root@docker-server1 ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
2.4.3:重啟 docker服務:
systemctl daemon-reload
systemctl restart docker
浙公網安備 33010602011771號