Docker19.03.13离线安装-Docker根目录-Docker常用操作--NVIDIA Docker
一、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 参考
未经作者 https://www.cnblogs.com/xin1006/ 梦相随1006 同意,不得擅自转载本文,否则后果自负