docker的安裝和簡單配置

docker的安裝和簡單配置

docker是balabalabala...懶得介紹。linux

國內安裝docker很蛋疼,按照官方配置好了軟件源以後,幾十MB的安裝文件下載要半天,沒辦法,docker默認的軟件源是在國外的,速度很慢。幸虧國內有docker軟件源鏡像,注意這裏說的是軟件源鏡像,也就是deb系統下的apt源鏡像,只用來安裝docker。docker

阿里提供了軟件源鏡像及安裝的步驟,寫的還算比較詳細。這裏摘錄關鍵步驟以下:json

sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安裝GPG證書
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo apt-key add -
# Step 3: 寫入軟件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/debian buster stable"
# Step 4: 更新並安裝 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

本人用Debian sid系統,手裏部分服務器使用Ubuntu系統,Ubuntu的安裝很簡單,阿里官方文檔就有介紹,這裏以有點麻煩的Debian sid進行講解,純屬炫(low)技。ubuntu

上述命令,原文中都是ubuntu,這裏簡單將ubuntu替換爲debian緩存

另外原文命令中的$(lsb_release -cs) 用於查詢codename,這裏直接替換爲buster,注意,由於我用的是Debian sid,其對應的codename有可能在debian下面不存在,這裏替換以前我是到這裏確認過buster這個codename確實存在才這麼寫的。若是有新版的Debian sid(估計很快就有了),使用上一個版本的codename通常也沒啥問題。安全

鏡像源的配置

安裝完了docker,還不能開心的使用,由於docker只是一個運行時,咱們真正要用的是在docker裏面運行的各類images,可是這個images的鏡像仍是在國外的,慢的要死。幸虧國內也有鏡像,咱們可使用國內的鏡像來代替國外鏡像。執行如下命令:服務器

sudo mkdir /etc/docker/ # 若是這個文件夾不存在的話
sudo nano /etc/docker/daemon.josn # Fedora、Centos等系統這個文件的位置不一樣。

能夠在指定位置建立一個docker的配置文件,並打開,將如下內容寫入文件並保存:ssh

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

這是一個json格式的文件。curl

注意,有一些docker插件如nvidia-docker等安裝的時候也會要求修改這個文件,因此記得隨時查看這個文件的內容並作相應的調整。socket

其實這裏應該重啓一下docker服務才能讓服務生效的,可是咱們的設置還沒作完,因此dwSun犯懶,就跟下次一塊兒弄了。

免sudo使用

到這裏,仍是不能愉快的使用,由於docker的cli跟dameon通訊用的socket文件他的全部權屬於docker組,而當前用戶不在docker組裏面,因此只能sudo才能使用docker。啥,不明白dwSun這裏寫了個啥,不要緊,跟着操做就好了。

將用戶加入 docker group 內。而後退出並從新登陸。

sudo gpasswd -a ${USER} docker

若是你跟dwSun同樣比較懶,那麼執行到這裏而後直接

sudo reboot

就行了,能夠安全的忽略後面的東西。

重啓 docker 服務

sudo service docker restart

切換當前會話到新 group 或者重啓 X 會話

newgrp - docker
OR
pkill X
OR
ctrl alt backspace

注意,最後一步是必須的,不然由於 groups 命令獲取到的是緩存的組信息,剛添加的組信息未能生效,因此 docker images 執行時一樣有錯。

測試

都弄好了,作個測試吧:

docker run hello-world

若是你的終端裏面有hello world輸出和一些奇奇怪怪但明顯不是錯誤的提示,那麼恭喜你,docker安裝完成。

若是是服務器操做,有可能出現重啓以後ssh登陸不上的狀況,必需要到機器上登陸一下才能用遠程ssh登陸,反正我碰到了。查了好久也沒看明白是爲啥,也許是docker的安裝修改了iptables的設置,能夠試試下面的操做讓iptable容許ssh的鏈接:

iptables -A INPUT -p tcp --dport ssh -j ACCEPT

參考

阿里docker參考文檔: https://yq.aliyun.com/articles/110806

相關文章
相關標籤/搜索