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

Docker笔记(基本命令、挂载本地gpu、Dockerfile文件配置、数据挂载、docker换源)

Docker

主要用于环境搭建以及服务部署

基本命令

1.查看镜像

docker images  

2.查看容器

docker ps # 查看容器仅仅为查看运行状态的容器
docker ps -a # 查看所有状态的容器

3.退出容器

exit

4.删除镜像、容器

docker rm 镜像ID
docker rm 容器ID
docker rm -f 容器ID # 强制删除

5.下拉镜像

docker pull  镜像名称[:标签]
docker pull ubuntu:20.04 

6.构建容器

docker run [选项] 镜像名称[:标签] [命令]
docker run -it --name my-ubuntu ubuntu:20.04 /bin/bash

7.进入容器

docker exec -it 容器ID或容器名称 /bin/bash

8.容器封装为镜像

docker commit 容器id 新镜像的名称:新镜像的版本

9.本地文件传输到容器

docker cp 本地路径  容器id:容器路径

10.镜像导出压缩包

 docker save -o new_name.tar image_name

Docker 中挂载并使用本地 GPU

要在 Docker 中挂载并使用本地 GPU,需要满足特定条件并进行相应配置。以下是详细步骤:

前提条件

  1. 本地主机需安装 NVIDIA 显卡 并配置好驱动
  2. 安装 NVIDIA Container Toolkit(用于在容器中支持 GPU)

安装 NVIDIA Container Toolkit

  1. 首先确保已安装 Docker Engine(略,可参考 Docker 官方文档)
  2. 安装 NVIDIA 容器工具包:
# 添加 NVIDIA 源
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
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 && sudo apt-get install -y nvidia-container-toolkit# 重启 Docker 服务
sudo systemctl restart docker

运行支持 GPU 的容器

使用 --gpus 参数指定需要挂载的 GPU,常用命令格式:

使用所有 GPU

docker run --gpus all -it 镜像名称 命令

如果成功,会显示类似本地 nvidia-smi 的输出,表明容器已识别到 GPU。

Dockerfile

Dockerfile 是一个文本文件,包含一系列构建 Docker 镜像的指令。通过 Dockerfile,可以自动化、可重复地构建自定义镜像。

基本结构 指令+参数

FROM:指定基础镜像(必须是第一条指令)
WORKDIR:设置工作目录
COPY/ADD:复制文件到镜像
RUN:执行命令(构建时运行)
ENV:设置环境变量
EXPOSE:声明容器运行时监听的端口
CMD/ENTRYPOINT:指定容器启动时执行的命令

本地在dockerfile文件下进行构建镜像

通过dockerfile构建镜像,docker会自动搜索dockerfile文件,进行执行

# 格式:docker build -t 镜像名称[:标签] 构建上下文路径
docker build -t my-python-app:v1 .

本地在dockerfile文件下进行运行镜像

自动执行dockerfile里面的命令

docker run -name new_name_container my-python-app:v1

数据挂载

1.

docker volume create mydate # 构建数据卷类似于共享网盘

2.两种方式

docker run -it -rm -v ~/Downloads/data:/date  # 本机路径:容器路径
docker run -it -rm -v mydate:/app . # 容器路径,一般情况,容器消失之后会自动删除,所以需要保护数据安全,进行数据挂载,最好挂载在本地,数据相对安全。

Docker更换镜像源提高拉取速度

在国内,由于网络政策和限制,直接访问DockerHub速度很慢,尤其是在拉取大型镜像时。为了解决这个问题,常用的方法就是更换镜像源。

永久docker换源,提升下拉速度

1. 创建配置目录

首先需要创建一个配置目录,通常在/etc/docker下:

sudo mkdir -p /etc/docker
2. 修改daemon.json配置文件

需要在该目录下创建(或修改)daemon.json文件,并将镜像源地址写入文件。可以使用命令行直接输入配置:

打开daemon.json

sudo nano /etc/docker/daemon.json

添加换源内容

{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.imgdb.de","https://docker-0.unsee.tech","https://docker.hlmirror.com","https://docker.1ms.run","https://func.ink","https://lispy.org","https://docker.xiaogenban1993.com"]
}
3. 重启Docker服务
sudo systemctl daemon-reload && sudo systemctl restart docker
4.验证服务
sudo docker pull continuumio/anaconda3

进行验证下拉速度,确定换源是否成功

http://www.lryc.cn/news/602856.html

相关文章:

  • 3Dmax模型位置归零
  • [机缘参悟-237]:AI人工神经网络与人类的神经网络工作原理的相似性
  • Java项目:基于SSM框架实现的进销存管理系统【ssm+B/S架构+源码+数据库+毕业论文+远程部署】
  • Java Collections工具类
  • Mac查看本机ip地址
  • 【密码学】3. 流密码
  • 互信息:理论框架、跨学科应用与前沿进展
  • 【实时Linux实战系列】实时运动分析系统的构建
  • 表征学习:机器认知世界的核心能力与前沿突破
  • 组件化(一):重新思考“组件”:状态、视图和逻辑的“最佳”分离实践
  • 11. 若依参数验证 Validated
  • Linux DNS解析3 -- DNS解析代理配置使用
  • 机器学习基础-matplotlib
  • Python Pandas.merge函数解析与实战教程
  • 解决Echarts设置宽度为100%发现宽度变为100px的问题
  • Revo Uninstaller Pro专业版领取:2025最佳Windows软件卸载工具
  • 【历史人物】【韩愈】简历与生平
  • 解决访问 nginx 首页报错 404
  • 【LeetCode 热题 100】35. 搜索插入位置——二分查找(闭区间)
  • XCF32PVOG48C Xilinx Platform Flash PROM
  • 【计算机网络】计算机网络中光猫、交换机、路由器、网关、MAC地址是什么?两台电脑是如何联通的?
  • PTX指令集基础以及warp级矩阵乘累加指令介绍
  • 进程间通信性能测试于VPS服务器环境的实践方案
  • Java HashMap中的compute及相关方法详解:从基础到Kafka Stream应用
  • 【esp32s3】7 - VSCode + PlatformIO + Arduino + 构建项目
  • Jenkins流水线部署+webhook2.0
  • 【Kubernetes 指南】基础入门——Kubernetes 101(二)
  • Java 笔记 transient 用法
  • C语言操作符详解:从基础到进阶
  • linux find命令使用教程