一、docker安裝
對於一些必須的依賴包可從自己下載的CentOS-7.5-x86_64-DVD-1804.iso中解壓目錄下的Packages目錄下搜索拷貝即可.
依賴包中的 container-selinux-2.107-3.el7.noarch.rpm 需在 http://rpmfind.net/linux/centos/7.9.2009/extras/x86_64/Packages/ 下手動下載;
依賴包中的 containerd.io-1.2.6-3.3.el7.x86_64.rpm 需在http://docker-release-yellow-prod.s3-website-us-east-1.amazonaws.com/linux/centos/7/x86_64/stable/Packages/ 下手動下載;
docker的包 docker-ce-19.03.13-3.el7.x86_64.rpm 和 docker-ce-cli-19.03.13-3.el7.x86_64.rpm
也是從http://docker-release-yellow-prod.s3-website-us-east-1.amazonaws.com/linux/centos/7/x86_64/stable/Packages/ 手動下載。
1) 安裝以下6個包
sudo rpm -ivh --replacefiles *.rpm (依賴包不再有缺失時再加--replacefiles 直接安裝)
2) 安裝以下8個包
sudo rpm -ivh *.rpm
3) 安裝以下3個包
sudo rpm -ivh --replacefiles *.rpm
4) 安裝以下3個包
sudo rpm -ivh *.rpm
5) 驗證docker是否安裝成功
docker -v
sudo systemctl enable docker #開機啟動
sudo shutdown -r now #重啟系統(不是必須執行), 用來手動驗證開機啟動是否生效
6)依次執行以下三條命令
sudo groupadd docker #添加docker組
sudo gpasswd -a $USER docker #將登錄用戶加入到docker用戶組中
newgrp docker #更新用戶組
7)docker常用操作命令
sudo systemctl status docker #docker狀態
sudo systemctl start docker #docker啟動
sudo systemctl stop docker #docker停止
sudo systemctl restart docker #docker重啟
sudo systemctl daemon-reload #重新加載配置文件
sudo usermod -aG docker $USER #給當前用戶加docker的使用權限
sudo vi /lib/systemd/system/docker.service #docker的服務配置文件
8)docker常用的一些操作
docker images #查看所有鏡像
docker rmi image_id #根據鏡像ID刪除鏡像
docker rmi -f 192.168.239.149:5000/nginx:1.18 #刪除指定標簽的鏡像
docker run -itd --name 容器名稱 鏡像名稱:標簽 #創建並進入一個容器
docker ps #查看正在運行的容器ID
docker exec -it 容器_ID /bin/bash #進入容器 在容器內部,通過exit 退出當前容器.
二、更改docker默認的根目錄
查看docker工作的根目錄
docker info | grep -i "docker root dir"
停止docker服務
sudo systemctl stop docker
創建新的docker目錄,執行命令df -h,找一個大的磁盤.
sudo mkdir -p /app/docker/lib
遷移/var/lib/docker目錄下面的文件到 /app/docker/lib
sudo rsync -avz /var/lib/docker /app/docker/lib #時間較長,耐心等待(下圖為最后結果片段)
修改docker的服務配置文件
sudo vi /lib/systemd/system/docker.service
14行 增加 --graph=/app/docker/lib/docker
再次啟動docker
sudo systemctl daemon-reload
sudo systemctl restart docker
查看根目錄是否已更換 , 檢查鏡像是否都存在.
docker info | grep -i "docker root dir" #用docker info也能看到根目錄
docker images
如果沒有任何問題的話,刪除原來/var/lib/docker/目錄下的文件
sudo rm -rf /var/lib/docker/
三、為當前docker設置自己的私庫地址
sudo vi /etc/docker/daemon.json ,增加如下內容:
"insecure-registries": ["192.168.152.135:5000"]
注:如果不是私庫的docker,一般是不需要設置 registry-mirror的.
sudo systemctl restart docker #重啟docker
四、NVIDIA-Docker安裝(可選)
如果要使用GPU顯卡,則需要在安裝docker的基礎上再安裝 NVIDIA-Docker(因為我們這里服務器使用的是英偉達的顯卡),否則忽略。
在docker安裝成功的基礎上再安裝以下rpm包
sudo rpm -ivh *.rpm
安裝完成后,查看 /etc/docker/daemon.json
sudo systemctl daemon-reload #刷新配置
sudo systemctl restart docker #重啟docker
nvidia-docker images
nvidia-docker version
安裝NVIDIA顯卡驅動cuda,【cuda_10.1.105_418.39_linux.run】 該cuda包中帶有NVIDIA Tesla V100顯卡的驅動,故只需要安裝這 一個軟件即可.
安裝成功后使用 nvidia-smi查看是否成功,下圖顯示我們的服務器是有兩塊顯卡的.
https://developer.nvidia.com/cuda-10.1-download-archive-base?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=runfilelocal
五、補充 nvidia-docker2的安裝包獲取方式
參考安裝URL: https://github.com/NVIDIA/nvidia-docker
1)注意執行以上顏色標記的這三行,在可以連網的虛擬機上執行即可。
# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f sudo yum remove nvidia-docker # Add the package repositories distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | \ sudo tee /etc/yum.repos.d/nvidia-docker.repo
# Install nvidia-docker2 and reload the Docker daemon configuration sudo yum install -y nvidia-docker2 sudo pkill -SIGHUP dockerd # Test nvidia-smi with the latest official CUDA image docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
2) sudo yum install --downloadonly nvidia-docker2 --downloaddir=/tmp/nvidia #即可下載所需要的5個rpm包
六、可能遇到的問題
解決docker安裝后無法啟動問題:
通常情況下,我們有3種方式可以配置服務中的service。以docker為例
1)在目錄/etc/systemd/system/docker.service.d目錄下放systemd drop-in文件;
2)通過修改/etc/systemd/system/docker.service文件;
3)通過修改/lib/systemd/system/docker.service文件。
4)如果2)和3)的文件同時存在,2)將覆蓋3)。
默認情況下1)和2)都不存在,我們此處也用不着太復雜的去使用選項1)和2),直接修改3)就可以解決問題。 因為用了別人的環境存在着2,故刪除了2之后才把docker啟動起來
補充: Kubernetes (k8s) rpm安裝包 下面鏈接打開后,打開瀏覽器的F12,然后在元素里面搜才可找到你想要的版本。
kubeadm kubectl kubelet
下載地址: http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/Packages/
https://github.com/flannel-io/flannel/releases
https://blog.csdn.net/pooasb/article/details/113769632 參考
https://blog.csdn.net/nklinsirui/article/details/80581286 參考