原文:https://blog.csdn.net/hello_junz/article/details/79882602
centos離線安裝docker-ce
目前越來越多的應用采用docker部署管理,使快速的部署集成變得更容易。但筆者在安裝docker時,遇到一個問題,目標服務器無法聯網,這就要求我們能夠采用離線的方式安裝docker。下面就如何離線安裝docker,列出了實施步驟,與大家一起分享。
1. 系統環境
Centos7 Linux version 3.10.0-327.10.1.el7.x86_64
2. docker-ce版本
18.03.0.ce-1.el7.centos.x86_64
3. 在可以聯網的機器上制作docker本地安裝源
3.1 安裝一個虛擬機,然后在虛擬機里面安裝centos7(當然,也可以一台可以聯網安裝了centos7系統的主機)
3.2 創建離線包存放目錄,並賦予讀寫權限
- # mkdir -p /home/docker/local
- # chmod -R 777 /home/docker/local
3.3 創建docker的yum repository
3.3 下載離線docker-ce依賴包
注意,下面指令僅僅下載離線包到指定目錄。后面要用到。
- yum install --downloadonly --downloaddir=/home/docker/local yum-utils \
- device-mapper-persistent-data \
- lvm2 createrepo
3.4安裝docker-ce依賴包及createrepo
- yum install yum-utils \
- device-mapper-persistent-data \
- lvm2 createrepo
3.5 配置docker repository
- yum-config-manager \
- --add-repo \
- https://download.docker.com/linux/centos/docker-ce.repo
3.6 更新yum源索引
yum makecache fast
3.7下載離線docker-ce安裝包
yum install --downloadonly --downloaddir=/home/docker/local docker-ce
3.8 獲取安裝docker需要的密匙
查看密匙文件url
- [jerry@localhost ~]$ more /etc/yum.repos.d/docker-ce.repo
- [docker-ce-stable]
- name=Docker CE Stable - $basearch
- baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
- enabled=1
- gpgcheck=1
- gpgkey=https://download.docker.com/linux/centos/gpg
- [docker-ce-stable-debuginfo]
- name=Docker CE Stable - Debuginfo $basearch
- baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/stable
- enabled=0
- gpgcheck=1
- gpgkey=https://download.docker.com/linux/centos/gpg
下載密匙文件(存放到/home/docker/local下)
- cd /home/docker/local
- wget https://download.docker.com/linux/centos/gpg
3.9 初始化安裝源repodata庫
- # createrepo -pdo /home/docker/local /home/docker/local
- # createrepo --update /home/docker/local
此時,/home/docker/local下面應該有如下安裝包、文件及目錄
- container-selinux-2.42-1.gitad8f0f7.el7.noarch.rpm
- createrepo-0.9.9-28.el7.noarch.rpm
- device-mapper-1.02.140-8.el7.x86_64.rpm
- device-mapper-event-1.02.140-8.el7.x86_64.rpm
- device-mapper-event-libs-1.02.140-8.el7.x86_64.rpm
- device-mapper-libs-1.02.140-8.el7.x86_64.rpm
- device-mapper-persistent-data-0.7.0-0.1.rc6.el7_4.1.x8
- docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm
- dracut-033-502.el7_4.1.x86_64.rpm
- dracut-config-rescue-033-502.el7_4.1.x86_64.rpm
- dracut-network-033-502.el7_4.1.x86_64.rpm
- libgudev1-219-42.el7_4.10.x86_64.rpm
- libseccomp-2.3.1-3.el7.x86_64.rpm
- libselinux-2.5-11.el7.x86_64.rpm
- libselinux-python-2.5-11.el7.x86_64.rpm
- libselinux-utils-2.5-11.el7.x86_64.rpm
- libsemanage-2.5-8.el7.x86_64.rpm
- libsemanage-python-2.5-8.el7.x86_64.rpm
- libsepol-2.5-6.el7.x86_64.rpm
- lvm2-2.02.171-8.el7.x86_64.rpm
- lvm2-libs-2.02.171-8.el7.x86_64.rpm
- pigz-2.3.3-1.el7.centos.x86_64.rpm
- policycoreutils-2.5-17.1.el7.x86_64.rpm
- policycoreutils-python-2.5-17.1.el7.x86_64.rpm
- python-urlgrabber-3.10-8.el7.noarch.rpm
- rpm-4.11.3-25.el7.x86_64.rpm
- rpm-build-libs-4.11.3-25.el7.x86_64.rpm
- rpm-libs-4.11.3-25.el7.x86_64.rpm
- rpm-python-4.11.3-25.el7.x86_64.rpm
- selinux-policy-3.13.1-166.el7_4.9.noarch.rpm
- selinux-policy-targeted-3.13.1-166.el7_4.9.noarch.rpm
- setools-libs-3.3.8-1.1.el7.x86_64.rpm
- systemd-219-42.el7_4.10.x86_64.rpm
- systemd-libs-219-42.el7_4.10.x86_64.rpm
- systemd-python-219-42.el7_4.10.x86_64.rpm
- systemd-sysv-219-42.el7_4.10.x86_64.rpm
- yum-3.4.3-154.el7.centos.1.noarch.rpm
- yum-utils-1.1.31-42.el7.noarch.rpm
- repodata
- gpg
3.10 打包導出安裝源
# cd /home/docker/local# tar -zcvf docker-local.tar.gz *
docker-local.tar.gz這個文件,就是我們制作好的離線安裝源。
4.將docker-local.tar.gz copy到無法聯網的centos7 服務器上(比如/home/docker/local目錄下),並解壓
- # mkdir -p /home/docker/local (如果不存在此目錄,則創建,然后copy docker-local.tar.gz到此目錄)
- # cd /home/docker/local
- # tar -zxvf docker-local.tar.gz
5 安裝createrepo
- # cd /home/docker/local
- # rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm (這個rpm安裝包就是上面我們離線下載的安裝包)
6 備份安裝源
- # cd /etc/yum.repos.d/
- # mkdir repobak
- # mv * repobak/
7 配置離線安裝源
- # vi /etc/yum.repos.d/docker-ce-local.repo
- [docker]
- name=docker local
- baseurl=file:///home/docker/local/
- gpgcheck=0
- enabled=1
- gpgkey=file:///home/docker/local/gpg
8 構建本地安裝源
# createrepo -d /home/docker/local/repodata# yum clean all (清除緩存)
# yum makecache (創建緩存)
9 檢查本地庫是否制作成功
# yum repolist
repo id repo
name status
docker docker
local 38
repolist: 38
10. 安裝docker-ce
# yum install docker-ce
11.檢查是否安裝成功
- # systemctl start docker
- # docker version
- Client:
- Version: 18.03.0-ce
- API version: 1.37
- Go version: go1.9.4
- Git commit: 0520e24
- Built: Wed Mar 21 23:09:15 2018
- OS/Arch: linux/amd64
- Experimental: false
- Orchestrator: swarm
- Server:
- Engine:
- Version: 18.03.0-ce
- API version: 1.37 (minimum version 1.12)
- Go version: go1.9.4
- Git commit: 0520e24
- Built: Wed Mar 21 23:13:03 2018
- OS/Arch: linux/amd64
- Experimental: false
12. 創建docker用戶組
12.1 創建docker用戶組
# groupadd docker
12.2 將指定用戶(比如ittest)加入docker用戶組
# usermod -aG docker ittest
12.3 重啟docker
# systemctl restart docker
