1.1 說明linux
Docker 的早期版本稱爲 docker 或 docker-engine, 從2017年3月1號開始,Docker分紅 CE(社區版) 和 EE(企業版) 2個版本,安裝包發生變化,安裝方式和以前也稍有不一樣,不能經過yum直接安裝。docker
1.2 卸載舊版本json
此種方式將保留 /var/lib/docker/
的內容,包括鏡像、容器、存儲卷和網絡,若是不想保留歷史信息,首先刪除該文件夾:centos
yum remove docker docker-common docker-selinux docker-engine
1.3 安裝docker依賴軟件包bash
yum install -y yum-utils device-mapper-persistent-data lvm2
1.4 設置鏡像倉庫網絡
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
1.5 更新 yum 軟件包索引app
yum makecache fast
1.6 安裝最新版本docker cetcp
yum install docker-ce
1.7 安裝指定版本docker ce測試
# 查看版本列表 yum list docker-ce.x86_64 --showduplicates | sort -r # 安裝指定版本 yum install 18.03.0.ce-1.el7
1.8 啓動dockerspa
systemctl start docker
1.9 設置docker服務開機啓動(可選)
systemctl enable docker.service
1.10 配置國內鏡像加速器
我配置的是淘寶鏡像源,這個是我以前寫的,貼個連接,不從新寫了:解決docker從官方倉庫拉取鏡像時速度過慢問題
方式一:添加及配置 /etc/docker/daemon.json
方式二:編輯文件:/usr/lib/systemd/system/docker.service ,在 ExecStart=/usr/bin/dockerd 後面添加:--registry-mirror=<加速器地址>
1.11 測試
docker run hello-world
#!/bin/bash echo "---> 卸載原始鏡像" yum remove docker docker-common docker-selinux docker-engine -y echo "---> 安裝所需的軟件包:yum-utils device-mapper-persistent-data lvm2" yum install -y yum-utils device-mapper-persistent-data lvm2 echo "---> 命令設置 stable 鏡像倉庫" sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo echo "---> 更新 yum 軟件包索引" yum makecache fast echo "---> 開始安裝docker" if [ ! -n "$1" ] then echo "未指定版本,安裝最新版本docker-ce" yum install docker-ce -y else echo "安裝指定版本:docker-ce-$1" yum install docker-ce-$1 -y fi echo "---> 成功安裝docker" echo "---> 備份並修改docker配置文件" cp -f /usr/lib/systemd/system/docker.service /usr/lib/systemd/system/docker.service.bak sed -i '/ExecStart=\/usr\/bin\/dockerd/ s/$/ -H tcp:\/\/0.0.0.0:2376 -H unix:\/\/\/var\/run\/docker.sock/' /usr/lib/systemd/system/docker.service # 這裏換成本身的加 echo "---> 配置鏡像加速器" mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"] } EOF echo "重啓docker及其守護進程" systemctl daemon-reload systemctl restart docker