Docker基础知识

前言

  Docker基础知识。

一、Docker安装

参考资料

1、卸载docker(可选)

sudo yum remove docker \
		docker-client \
		docker-client-latest \
        docker-common \
        docker-latest \
        docker-latest-logrotate \
        docker-logrotate \
        docker-selinux \
        docker-engine-selinux \
        docker-engine \
        docker-ce

2、安装必要的系统工具

 yum install -y yum-utils device-mapper-persistent-data lvm2

3、设置docker镜像源仓库

 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4、docker安装

 sudo yum makecache fast
 sudo yum install docker-ce 

5、关闭防火墙

# 关闭
    systemctl stop firewalld
# 禁止开机启动防火墙
    systemctl disable firewalld
# 查看是否关闭防火墙
    systemctl status firewalld

6、启动docker

# 启动docker服务
    systemctl start docker  
    
# 停止docker服务
    systemctl stop docker 
    
# 重启docker服务 
    systemctl restart docker   

7、配置镜像加速

# 切换/创建文件夹
    sudo mkdir -p /etc/docker
    
# 在文件夹内新建一个daemon.conf文件,写入如下内容
   {
	    "registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com"]
	    "runtimes": {
	        "nvidia": {
	            "path": "nvidia-container-runtime",
	            "runtimeArgs": []
	         }
	    }
	}
	
# 重新加载文件
    sudo systemctl daemon-reload
    
# 重新启动docker
    sudo systemctl restart docker

8、查看docker版本

docker -v

9、拉取镜像

docker pull xxx(镜像地址)

10、初次运行容器

docker run -itd -p xxx(用户自定义端口号,一般与后者相同):xxx(docker中服务端口号) --name xxx(容器名) xxx(镜像ID) /bin/bash

# 与宿主机器共用网络
	docker run -itd --net host --name xxx(容器名) xxx(镜像ID) /bin/bash

【注】
	-t:选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
	-i:则让容器的标准输入保持打开,-d 则是在后台启动
	-v:挂载目录
	-p:端口映射

11、退出容器

exit

12、启动容器

docker start xxx(容器名/容器ID)

13、进入容器

docker exec -it xxx(容器名) /bin/bash

14、保存镜像

docker save -o xxx(保存的文件名) xxx(镜像名):版本

【注】如果想把已经配置好的容器,同镜像一同打包,可以先通过如下命令生成镜像,再通过上面的命令,打包镜像

docker commit -a "author" -m "comment" ${container-id} ${image-name}:${image-version}

15、下载镜像

docker load -i xxx(保存的文件名)

16、删除镜像

docker rmi xxx(镜像ID)

17、删除容器

docker rm xxx(容器ID)

18、停止运行的容器

docker stop xxx(容器ID)

19、宿主机与容器文件传输

# 宿主机—>容器
	docker cp {宿主机文件完整路径} {容器name/id}:{容器内路径}
	
# 容器—>宿主机
	docker cp {容器name/id}:{容器内文件完整路径} {宿主机路径}

20、查看所有容器

docker ps -a

21、查看所有镜像

docker images      

二、Docker配置GPU环境

  以下所有命令均在命令行进行操作。

1、拉取cuda镜像

  • cuda镜像下载链接cuda镜像
  • 示例docker pull nvidia/cuda:11.7.1-devel-ubi8
  • 示意图在这里插入图片描述

2、安装

# 更新yum
	yum clean all
	yum makecache
	yum update -y
	
# 安装nvidia-container-runtime(centos7)
	distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
	curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.repo | sudo tee /etc/yum.repos.d/nvidia-container-runtime.repo
	yum install nvidia-container-runtime
	
# 验证是否安装成功(显示下图即为安装成功)
	docker run --rm --gpus all nvidia/cuda:11.7.1-devel-ubi8 nvidia-smi

在这里插入图片描述

3、运行容器

# 初次运行容器
	docker run -itd --shm-size=8gb --rm --runtime=nvidia --gpus all --network host --name GPU-Docker nvidia/cuda:11.7.1-devel-ubi8 /bin/bash

# 进入容器
	docker exec -it GPU-Docker /bin/bash
	
# 注
	--shm-size=8gb必须加上,不然运行代码会报存储错误
	--gpus参数:
		--gpus "device=0": 使用第一个 GPU 设备
		--gpus "device=1": 使用第二个 GPU 设备
		--gpus "device=2,3": 使用第三和第四个 GPU 设备
		--gpus 3: 使用前3个gpu
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值