Ubuntu 系統安裝 Docker

安裝 Docker CE 有多種方法,下面是最簡單的經過Docker倉庫的安裝方法,其餘方法參見官方文檔python

<!--more-->linux

設置倉庫

  1. 刷新軟件包git

    sudo apt-get update
  2. 安裝必要的軟件包github

    sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        gnupg-agent \
        software-properties-common
  3. 添加 Docker 官方 GPG keydocker

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

    驗證指紋是否爲 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88, 能夠經過搜索指紋的後8位來進行驗證。json

    sudo apt-key fingerprint 0EBFCD88
    
    result:
     pub   rsa4096 2017-02-22 [SCEA]
           9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
     uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
     sub   rsa4096 2017-02-22 [S]
  4. 使用下面的命令添加 穩定版 倉庫ubuntu

    sudo add-apt-repository \
           "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
           $(lsb_release -cs) \
           stable"

安裝 Docker CE

  1. 刷新軟件包安全

    sudo apt-get update
  2. 安裝最新版的 docker ce 和 containerdbash

    sudo apt-get install docker-ce docker-ce-cli containerd.io
  3. 經過運行 hello-world 鏡像來驗證是否安裝成功curl

    sudo docker run hello-world

    Docker CE 安裝完成後,會創建 docker 用戶組,可是沒有用戶分配,因此須要經過 sudo 來運行 Docker 命令。

其餘設置

國內容器鏡像加速

使用加速器能夠提高獲取Docker官方鏡像的速度,下面使用阿里雲鏡像進行加速。

經過修改daemon配置文件/etc/docker/daemon.json來使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://jjzi6741.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

使用非 root 用戶管理運行 Docker

參考連接

Docker 守護進程綁定在 Unix socket 而不是 TCP 端口。默認狀況下 Unix socket 歸屬於 root 用戶,其餘用戶只能經過 sudo 命令訪問。因此 Docker 守護進程老是以 root 用戶來運行。

若是你不但願每次運行 docker 命令時在前面加上 sudo,你能夠建立一個 docker 用戶組並把用戶加進去。當 Docker 守護進程啓動時,會建立一個 Unix socket 供 docker 用戶組成員訪問。

警告

docker 用戶組成員和 root 用戶有相同的權限,請查看 Docker Daemon Attack Surface 以瞭解更多關於系統安全的影響。

建立 docker 用戶組並添加你的用戶

  1. 建立 docker 用戶組

    sudo groupadd docker
  2. 添加你的用戶到 docker 用戶組

    sudo usermod -aG docker $USER
  3. 從新登陸以試權限生效。

  4. 驗證是否能夠不使用 sudo 命令來運行 docker

    docker run hello-world

    這個命令會下載一個 test 鏡像並在容器中運行。運行完成後,會顯示歡迎信息並退出。

    若是你在把用戶加到 docker 用戶組以前使用了 sudo 運行過 Docker 命令,可能會遇到下面的錯誤提示,是由於 ~/.docker/ 權限不對致使的。

    WARNING: Error loading config file: /home/user/.docker/config.json -
    stat /home/user/.docker/config.json: permission denied

    解決這個問題,能夠經過刪除 ~/.docker/ 目錄(自定義設置會丟失),或者用下面的命令來更改權限。

    sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
    sudo chmod g+rwx "$HOME/.docker" -R

安裝 Docker Compose

參考連接

在 Linux 系統,能夠經過 Compose repository release page on GitHub 來下載 Docker Compose 二進制文件。

對於 alpine 系統,須要安裝如下依賴包: py-pip, python-dev, libffi-dev, openssl-dev, gcc, libc-dev make

  1. 運行下面命令下載最新穩定版 Docker Compose

    sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    下載不一樣的版本,更改命令中的版本號便可。

  2. 給文件加上可執行權限

    sudo chmod +x /usr/local/bin/docker-compose

注意: 若是安裝後執行 docker-compose 失敗,請檢查 PATH 變量。亦能夠創建軟鏈接。

好比:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  1. (可選), 爲 bashzsh 安裝 command completion

  2. 驗證安裝是否成功

    $ docker-compose --version
    docker-compose version 1.24.0, build 1110ad01

更多技術文章,請訪問個人我的網站:https://www.codingbit.net

相關文章
相關標籤/搜索