首页 > 其他分享 >快速创建可移植的深度学习Docker环境

快速创建可移植的深度学习Docker环境

时间:2024-11-20 09:48:41浏览次数:3  
标签:可移植 apt ssh && 深度 镜像 Docker com docker

0 镜像拉取

首先拉取带有cuda的镜像:nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu18.04
现在镜像被ban了,推荐使用国内镜像站,这里我用的nvcr.io/nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu18.04

docker pull nvcr.io/nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu18.04

当然也可以手动创建镜像,例如ubuntu2004镜像swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu:20.04

1 运行容器

1.1 运行

运行镜像,绑定远程访问的22端口,绑定可外部访问的12346端口

docker run -d -it -p 12225:22 -p 12346:12346 --name 自己起一个名绑定 镜像名

进入镜像

docker exec -it 镜像名 /bin/bash

1.2 换源

sed -i "s@http://.*archive.ubuntu.com@https://mirrors.aliyun.com@g" /etc/apt/sources.list && \
sed -i "s@http://.*security.ubuntu.com@https://mirrors.aliyun.com@g" /etc/apt/sources.list && \
apt update

1.3 安装基本运行包

apt-get update && apt-get install -y \
    git \
    wget \
    vim \
    openssh-server

1.4 下载conda

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh

直接安装就行,Linux安装conda教程很多

1.5 设置SSH外部访问

下载并修改

apt install -y openssh-server && sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

开启ssh

service ssh restart

设置ssh密码(可选项,可以不写,也可以写,不强制设置这一步)

echo root:密码 # 密码需要手动替换,例如 echo root:12345

2 发布镜像

将容器创建镜像

docker commit -m "commit" 容器名 仓库名:版本标签

保存镜像到本地

docker save 镜像名/镜像ID -o 镜像保存位置和名字

标签:可移植,apt,ssh,&&,深度,镜像,Docker,com,docker
From: https://blog.csdn.net/qq_43226466/article/details/143902606

相关文章

  • 力扣 LeetCode 111. 二叉树的最小深度(Day7:二叉树)
     解题思路:用后序遍历题目要求的最小深度为根节点到叶子节点的最小深度,注意是到根节点,所以如图所示假设(没有9这个节点)是需要返回3的,而不是1(根节点左子树为空的情况),于是需要加两层判断其余部分可参考求最大深度的思路,有一定相似之处classSolution{publicintminDe......
  • web专题:ctf专业竞赛平台!在 Ubuntu 上部署 CTFd 与 Docker!全网最详细版本,少走弯路!
    docker是什么?Docker是一个开源的容器化平台,用于开发、发布和运行应用程序。它通过将应用程序及其依赖项打包成一个容器,使应用在任何支持Docker的环境中都能保持一致性。容器本质上是轻量级、独立的运行环境,包含了应用程序和它所需的所有资源,但与虚拟机不同的是,容器共享主机......
  • 深度学习的实践层面
    深度学习的实践层面设计机器学习应用在训练神经网络时,超参数选择是一个高度迭代的过程。我们通常从一个初步的模型框架开始,进行编码、运行和测试,通过不断调整优化模型。数据集一般划分为三部分:训练集、验证集和测试集。常见的比例是60%用于训练,20%用于验证,20%用于测试。然而,......
  • 李沐大佬-动手学深度学习笔记-注意力机制
    注意力机制(显示考虑随意线索)随意线索:查询query每个输入是一个value和不随意线索key的对通过注意力池化层偏向性选择某些输入历史演变:非参注意力池化层:60年代提的Nadaraya-Watson核回归,类似于knn如果使用高斯核,fx函数类似于softmax和y(y是一个value)的乘积参数化注意力机制:......
  • Docker Swarm 核心概念及详细使用
    DockerSwarm核心概念及详细使用DockerSwarm介绍DockerSwarm是Docker的原生集群管理工具。它的主要作用是将多个Docker主机集成到一个虚拟的Docker主机中,为Docker容器提供集群和调度功能。通过DockerSwarm,您可以轻松地管理多个Docker主机,并能在这些主机上调度......
  • 今天学习了一下docker
    docker的启动指令:systemctlstatusdockersystemctlstartdockersystemctlstopdockersystemctlrestartdockersystemctlenabledockerdockerversion---------------------------------------查看镜像dockersearchtomcat搜索tomcat的镜像dockerpulltomcat下拉tomca......
  • Nginx Ingress Controller的监控日志分析:请求来源IP的深度剖析
    个人名片......
  • Docker部署ELK7.17.10
    一.安装前准备    需要准备elasticsearch_7.17.10,kibana_7.17.10,logstash7.17.10三个镜像,这里我用的离线镜像包elasticsearch_7.17.10.tar,kibana_7.17.10.tar,logstash7.17.101.先执行命令包导入镜像dockerload-ielasticsearch_7.17.10.tardockerload-ikiban......
  • 雷池 docker env 配置说明
    雷池 docker env 配置说明当通过安装命令bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"安装完雷池之后,在安装目录下面会生成一个 .env 文件,该文件是雷池的安装配置,样例如下SAFELINE_DIR=/data/safelineIMAGE_TAG=latestMGT_PORT=9443......
  • Node.js 后端项目部署与 Docker 容器化过程总结
    Node.js后端项目部署与Docker容器化过程总结在windows本地1.准备Node.js项目安装并初始化Node.js项目:npminit-y安装所需的依赖:npminstallexpressmssqldotenv2.编写后端代码(app.js)使用express创建路由,连接SQLServer数据库,处理数据库操作:co......