当前位置: 首页 > news >正文

docker的使用方法

docker技术

同一个操作系统内跑多套不同版本依赖的业务
docker可以使同一个物理机中进程空间,网络空间,文件系统空间相互隔绝
虚拟机弊端:每个需要安装操作系统,太重量级,资源需要提前分配好

部署程序

  • 开发环境
    win+java
  • 测试环境(?ubuntu)
    传代码
    装依赖
  • 生产环节

docker可以上传运行环境+源码,流水线快速交付

Ubuntu Linux的安装

  1. 安装docker
    首先安装curl
sudo apt install curl

一键安装docker


curl -fsSL https://get.docker.com | bash

报错 GPG error

sudo dpkg -i /home/Downloads/cudnn-local-repo-ubuntu2204-8.5.0.xxx.deb
报错建议:
sudo cp /var/cudnn-local-repo-ubuntuxxx.gpg  /usr/share/keyrings/

安装nvidia-docker
https://developer.nvidia.com/zh-cn/blog/nvidia-docker-gpu-server-application-deployment-made-easy/

# 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 apt-get purge -y nvidia-docker# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda:11.7.1-base-ubuntu22.04 nvidia-smi

报错

Error response from daemon: manifest for nvidia/cuda:11.0 not found: manifest unknown: manifest unknown

命令中需要到下面网址找到对应的版本
https://gitlab.com/nvidia/container-images/cuda/blob/master/doc/supported-tags.md

设置权限

cd /var/lib
sudo chmod -R 777 docker
cd /var/lib/docker
sudo groupadd docker     #添加docker用户组
sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中
newgrp docker     #更新用户组
sudo systemctl restart docker   # 重启docker
docker ps    #测试docker命令是否可以使用sudo正常使用

从镜像中拉取容器

nvidia-docker run --name paddle_docker -it --network=host -v $PWD:/paddle registry.baidubce.com/paddlepaddle/paddle:2.4.1-gpu-cuda11.7-cudnn8.4-trt8.4 /bin/bash

注:-v $PWD:/paddle 表示的是主机和容器互联的文件夹,如果保证环境纯洁,需要复制一个里面文件到容器中,而不是主机直接操作

使用

sudo systemctl start docker
sudo docker ps -a
#选择容器
sudo docker start 31a
docker images 查看现在的镜像

新建容器,连接host主机

在这里插入代码片

debug
如果出现docker网卡占用无线网卡的情况,尝试

sudo /etc/docker
vim daemon.json

在这里插入图片描述

常用语法

docker ps 查看容器
docker start 容器id
exit 退出容器
docker exec -it [容器id] /bin/bash  进入一个正在运行的容器
http://www.lryc.cn/news/22686.html

相关文章:

  • Kafka(五)生产者向发送消息的执行流程
  • 华为OD机试模拟题 用 C++ 实现 - 简易压缩算法(2023.Q1)
  • MATLAB R2022b 安装教程
  • PCI子系统
  • Spring源码之IoC容器的Bean创建和依赖注入,DefaultListableBeanFactory容器为例
  • 解决小程序页面scroll-view块自身滑动问题
  • PowerCommand康明斯发电机控制屏维修HMI211
  • ELK + Kafka 测试
  • 迁移系统:换电脑或者硬盘转移磁盘文件的方法!
  • 职场性别报告,男女薪酬仍有差距,男性平均薪酬比女性高29.7%
  • 5-Azidopentanoic acid,79583-98-5,5-Azidopentanoic COOH具有高效稳定,高特异性
  • 滴滴前端高频react面试题汇总
  • 能在软路由docker给部署搭建teamsperk服务器么?并且设置好ddns
  • 应用统计学实验1-蒙特卡罗方法求解定积分
  • 用Pyhon编写一个属于自己的nmap
  • 电信网上用户资管理系统的设计与实现
  • js函数柯里化-面试手写版
  • 【学习笔记】深入理解JVM之类加载机制
  • 驾驭云端之风1——Spring Cloud微服务架构实践指南
  • 【计算机网络基础】
  • grep与nm命令的应用
  • 【linux】软硬链接
  • 骨传导蓝牙耳机排行,盘点几款性能不错的骨传导耳机
  • ARM中的寄存器
  • git操作修改历史版本指定tag标签的代码,并发布新标签
  • SpringMVC——响应处理(1)【包含源码分析】
  • Normalization
  • 27K测试老鸟分享自己6年面试心得,四种公司、四种问题…
  • 中小企业数字化自动化转型的方法
  • 利用GPT-3 Fine-tunes训练专属语言模型