Docker多版本共存是指在一個系統中同時安裝多個版本的Docker,每個版本之間互不干擾,可獨立使用,也方便開發者在不同的項目中使用不同的Docker版本。
$ sudo apt-get remove docker docker-engine docker.io containerd runc $ sudo apt-get update $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg $ echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list >/dev/null $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
以上代碼是在Ubuntu系統中安裝Docker的指令。不同版本的Docker在啟動時需要加上版本號,例如使用v1.0.0版本的Docker啟動容器的指令為:
$ docker run --rm -it python:3.8.3 bash
當系統中有多個版本的Docker,我們需要切換版本。使用以下命令來切換docker版本:
$ sudo systemctl stop docker.service $ sudo systemctl stop containerd.service $ sudo update-alternatives --remove-all docker $ sudo update-alternatives --remove-all docker-compose $ sudo rm -rf /usr/bin/docker-compose $ sudo rm -rf /usr/bin/docker $ sudo ln -sf /usr/bin/docker-18.09.0-ce /usr/bin/docker $ sudo ln -sf /usr/bin/docker-compose-1.23.2 /usr/bin/docker-compose $ sudo systemctl start docker.service $ sudo systemctl start containerd.service
以上命令切換到了18.09.0-ce版本的Docker。切換過程中需要停止當前版本Docker的服務,同時需要刪除已有的docker和docker-compose選項,最后通過軟連接將對應版本的docker和docker-compose設置為默認。
總結:Docker多版本共存可以滿足不同項目使用不同版本Docker的需求,同時也可以體驗不同版本Docker的新特性。