Ubuntu16.04 Server版離線安裝docker及nvidia-docker

安裝docker18

下載連接:https://ubuntu.pkgs.org/16.04/docker-ce-stable-amd64/
準備如下幾個安裝包:
containerd.io_1.2.0-1_amd64.deb
docker-ce_18.09.1~3-0~ubuntu-xenial_amd64.deb 
docker-ce-cli_18.09.1~3-0~ubuntu-xenial_amd64.deb
libseccomp2_2.3.3-3ubuntu2_amd64.deb
安裝:
sudo apt install   ./con*   ./lib*  ./docker*

一些優化工做

添加當前用戶到docker用戶組

sudo groupadd docker
sudo usermod -aG docker ${USER}
sudo systemctl restart docker    # 須要註銷一下再登陸,能夠直接使用docker命令,而不須要再加sudo

優化Docker源

sudo touch /etc/docker/daemon.json
echo '{
    "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://hub-mirror.c.163.com"
    ]
    }'| sudo tee /etc/docker/daemon.json
sudo systemctl daemon-reload
sudo systemctl restart docker

使Docker能夠限制容器內存使用上限

sudo sed -i s/'GRUB_CMDLINE_LINUX=""/'GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1'"/g /etc/default/grub
sudo update-grub
sudo reboot

安裝nvidia-docker

說明:
# docker18以前是安裝nvidia-docker2
# docker19以後使用nvidia-container-toolkit (docker18安裝這個也能夠)

# 目前網上的添加gpgkey的連接已經失效,沒法添加gpg key進行下載,直接尋找deb安裝包進行安裝
下載連接:http://mirror.cs.uchicago.edu/nvidia-docker/libnvidia-container/stable/ubuntu16.04/amd64/

準備如下幾個安裝包:
libnvidia-container1_1.0.1-1_amd64.deb
libnvidia-container-tools_1.0.1-1_amd64.deb
nvidia-container-runtime_3.1.4-1_amd64.deb
nvidia-container-toolkit_1.0.5-1_amd64.deb
安裝:
sudo apt install   ./lib*   ./nvidia*

docker運行參數調整(會刪除以前的docker鏡像和容器,因此通常初始化安裝的時候就要進行這些步驟)

# 修改docker image存儲位置到大容量空間,方便後面拷貝11G的鏡像文件,
# 正常docker 啓動參數設置
cd /etc/systemd/system/multi-user.target.wants
vim docker.service

ExecStart=/usr/bin/dockerd --graph=/data/docker --storage-driver=overlay --registry-mirror=https://jxus37ad.mirror.aliyuncs.com
----------------------------參數解釋---------------------------------
--graph:        新的存儲位置
--storage-driver :    當前docker所使用的存儲驅動
--registry-mirror:    在線鏡像源
--------------------------------------------------------------------------

sudo tee /etc/docker/daemon.json <<EOF
{
    "default-runtime":"nvidia",
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker
sudo pkill -SIGHUP dockerd

# 測試nvidia-docker是否安裝成功
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
# 查看docker默認運行時爲nvidia
docker info
相關文章
相關標籤/搜索