筆者近期在服務器上搭建docker環境,可由於筆者是普通用戶,在安裝的時候就跳了很多坑,現在記錄一下。
一、docker權限問題
據官方解釋,搭建docker環境必須使用root權限,或者sudo裝,但一般服務器是一個機構或者多個人共同使用的,只有管理員才能拿到root權限,所以建議需要使用docker的普通用戶要向管理員申請,在他搭完服務器后再搭一個docker環境,並把你當前這個普通用戶名加入到docker組內,這樣你才能使用。
命令行
sudo usermod -aG docker <your_username>
然后退出重新登陸。
二、搭建docker時不能pull or push 任何鏡像
可能有兩種原因
1,沒有登陸docker hub
命令行:
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
三、更改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>
四、測試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環境遇到的坑,希望能對你有所幫助,如果喜歡的話就留個爪印吧!