筆者近期在服務器上搭建docker環境,可因爲筆者是普通用戶,在安裝的時候就跳了不少坑,如今記錄一下。linux
1、docker權限問題docker
據官方解釋,搭建docker環境必須使用root權限,或者sudo裝,但通常服務器是一個機構或者多我的共同使用的,只有管理員才能拿到root權限,因此建議須要使用docker的普通用戶要向管理員申請,在他搭完服務器後再搭一個docker環境,並把你當前這個普通用戶名加入到docker組內,這樣你才能使用。centos
命令行緩存
sudo usermod -aG docker <your_username>服務器
而後退出從新登錄。網絡
2、搭建docker時不能pull or push 任何鏡像app
可能有兩種緣由測試
1,沒有登錄docker huburl
命令行:spa
docker login
輸入用戶名和密碼以及郵箱就能夠了(沒有用戶賬號的需先訪問docker hub註冊一個帳戶)
2,網絡沒法訪問docker hub
因爲有時網絡狀態很差(國內網絡你們都懂的),咱們沒法訪問docker hub倉庫,建議添加鏡像源,不少博客推薦daoyun或者aliyun,我都試過,有時候仍是不行,親測了一個清華鏡像源有效
安裝docker過程:
1,安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
2,下載docker源(使用清華鏡像源)
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
3,更新軟件緩存
yum makecache fast
4,安裝docker-ce
yum install docker-ce -y
5,啓動docker
systemctl start docker.servic
6,(可選)設置成開機自啓
chkconfig docker on
7,查看docker版本信息
docker info
8,若是要卸載
yum remove docker-ce
(刪除全部鏡像和容器)
rm -rf /var/lib/docker
3、更改docker鏡像默認存儲路徑
默認狀況下,docker鏡像的默認存儲路徑是/var/lib/docker,這至關於直接掛載系統目錄下,而通常在搭系統時,這個區都不會太大,因此若是長期使用docker開發應用,就須要把默認的路徑更改到/home路徑下(這個區通常會分得比較多)
命令行:
vi /usr/lib/systemd/system/docker.service
在文本內容ExecStart=/usr/bin/dockerd 後面添加以下內容:
--graph <your path>使得變成:
ExecStart=/usr/bin/dockerd \
--graph <your path>
而後從新加載配置文件
systemctl daemon-reload
最後重啓便可
systemctl restart docker
注:更改事後,以後卸載docker並刪除全部鏡像和容器的目錄,就要rm -rf <your path>
4、測試pull or push 一個鏡像
有可能會出現TSL,重啓一下docker服務便可。
若出現error,建議去看下docker-ce.repo,
vi /etc/yum.d.repos/docker-ce.repo
查看全部的路徑是否已經所有更改成咱們以前設定的清華docker鏡像源,若是沒有,那就須要本身手動更改,附上清華鏡像源網址https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/,而後對照內容更改全部的url(注意:能夠disable edge 和test這兩個版本,就不須要更改這兩個版本的url)
以上就是我這次搭建docker環境遇到的坑,但願能對你有所幫助,若是喜歡的話就留個爪印吧!