因為本人是windows系統,想在linux下完docker,先裝個虛擬機先
1、安裝virtualbox虛擬機
去https://www.virtualbox.org/ 下載安裝
2、使用vagrant安裝centos7
使用鏡像安裝centos系統挺麻煩的,還是使用vagrant快捷
2-1、新建一個目錄命名centos7-demo1,我的完全目錄是:E:\VirtualBox\centos7-demo1
2-2、打開git bash(或者cmd),cd到centos7-demo1目錄
2-3、 執行命令:vagrant init centos/7 該命令會在當前目錄下創建一個Vagrantfile文件
2-4、執行命令:vagrant up 安裝centos系統,安裝成功后打開virtualbox會發現多了個虛擬機,如下圖
2-5、執行命令:vagrant ssh登錄(vagrant默認創建的賬號/密碼:vagrant/vagrant)
3、安裝docker
3-1、修改centos鏡像(不換鏡像,由於網絡原因,yum install一直報錯,如果你沒有網絡問題,請忽略此步驟)
1、備份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下載新的CentOS-Base.repo到/etc/yum.repos.d
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、運行yum makecache生成緩存
我使用的是阿里雲鏡像,阿里雲官方教程:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11h8WE8y
3-2、安裝docker
1、卸載舊版本
$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
2、安裝依賴包
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
3、添加 yum
軟件源(由於網絡原因,這里添加的是阿里雲鏡像)
sudo yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、更新 yum
軟件源緩存,並安裝 docker-ce
$ sudo yum makecache fast $ sudo yum install docker-ce
5、啟動docker ce
$ sudo systemctl enable docker $ sudo systemctl start docker
6、建立docker用戶組
默認情況下,docker
命令會使用 Unix socket 與 Docker 引擎通訊。而只有 root
用戶和 docker
組的用戶才可以訪問 Docker 引擎的 Unix socket。
出於安全考慮,一般 Linux 系統上不會直接使用 root
用戶。因此,更好地做法是將需要使用 docker
的用戶加入 docker
用戶組。
建立 docker
組:(一般提示docker組已存在)
$ sudo groupadd docker
將當前用戶加入 docker
組:
$ sudo usermod -aG docker $USER
退出當前終端並重新登錄,然后執行docker相關命令就不需要加上sudo了
7、測試docker是否安裝正確
執行命令:$ docker run hello-world,該命令會拉去hello-world鏡像並允許,但由於網絡原因可能失敗(我的就失敗了),需要配置鏡像加速,見步驟8
8、配置鏡像加速
國內從 Docker Hub 拉取鏡像有時會遇到困難,此時可以配置鏡像加速器。國內很多雲服務商都提供了國內加速器服務,例如:
Azure 中國鏡像 https://dockerhub.azk8s.cn
網易雲加速器 https://hub-mirror.c.163.com
在 /etc/docker/daemon.json
中寫入如下內容(如果文件不存在請新建該文件)
{ "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://hub-mirror.c.163.com" ] }
然后重啟服務
$ sudo systemctl daemon-reload $ sudo systemctl restart docker