Centos下Docker安裝指定版本
阿新 • • 發佈:2019-01-04
參考官網:https://www.docker.com/products/docker#/linux
一般情況下,docker安裝可以使用官網推薦的自動安裝指令碼,
curl -sSL https://get.docker.com/ | sh
這樣可以安裝最新的docker-engine,如果因為某些特殊原因,比如機器上的selinux版本不符合docker-engine最新版本的依賴要求,可以使用如下方法手動安裝執行的docker版本。
以安裝docker-engine-1.12.1為例,以下是安裝和初步配置過程
# 如果國內無法連線docker的官方源,可以設定代理,此步驟可略過 export http_proxy=http://10.16.3.70:3128 export https_proxy=https://10.16.3.70:3128 # 清理殘餘的docker版本 yum -y remove docker docker-common container-selinux yum -y remove docker-selinux # 安裝工具yum-utils, 方便下一步設定yum源 yum install -y yum-utils yum-config-manager \ --add-repo \ https://docs.docker.com/engine/installation/linux/repo_files/centos/docker.repo # 檢視docker-engine的所有版本,找到期望版本的精確名字,如1.12.2-1.el7.centos # yum list docker-engine --showduplicates # 檢視某個docker-engine版本的依賴,如1.12.1依賴docker-engine-selinux, 版本>= 1.12.1-1.el7.centos # yum deplist docker-engine-1.12.1-1.el7.centos # 由於docker-engine會預設安裝docker-engine-selinux 13,而安裝docker-engine-selinux 13需要將本機的selinux升級,所以手動安裝docker-engine-selinux 12 yum -y install docker-engine-selinux-1.12.2-1.el7.centos # 安裝docker engine yum -y install docker-engine-1.12.1-1.el7.centos #建立soft link systemctl enable docker # config docker storage and http_proxy #參考 https://docs.docker.com/engine/admin/systemd/ set +e declare unitConfig=/etc/systemd/system/docker.service.d/ mkdir $unitConfig cp ./start.conf $unitConfig cp ./http_proxy.conf $unitConfig set -e systemctl daemon-reload # start docker service docker start
配置docker使用了linux的單元配置,包括./start.conf和./http_proxy.conf
./http_proxy.conf主要是為了在docker pull時的http代理,內容如下:
[Service]
Environment="HTTP_PROXY=http://10.16.3.70:3128/"
./start.conf是配置docker執行時容器的儲存地址,以防docker預設的目錄空間不夠。
[Service]
# 這句是為了unset ExecStart
ExecStart=
ExecStart=/usr/bin/dockerd --graph="/mnt/docker"