当前位置: 首页 > 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.xdnf.cn/news/1204039.html

相关文章:

  • Ettus USRP X410/X440 运行 ADC 自校准
  • easyexcel填充方式导出-合并单元格并设置边框
  • 解构远程智能系统的视频能力链:从RTSP|RTMP协议接入到Unity3D头显呈现全流程指南
  • MVSNet系列网络概述
  • 把振动数据转成音频并播放
  • C++模板初阶
  • C++模板进阶:从基础到实战的深度探索
  • 短剧小程序系统开发:连接创作者与用户的桥梁
  • vue3【组件封装】超级表单 S-form.vue
  • django ManyToManyField 如何添加数据
  • 多光谱相机助力第四次全国农业普查-农业用地调查
  • JAVA后端开发——“全量同步”和“增量同步”
  • 基于百度 iframe 框架与语音解析服务的数字人交互系统实现
  • Docker搭建Hadoop集群
  • Apache Ignite 的 JDBC Client Driver(JDBC 客户端驱动)
  • 基于电动自行车控制器设计方案
  • PyTorch中flatten()函数详解以及与view()和 reshape()的对比和实战代码示例
  • dapp前端⾯试题
  • 【QT搭建opencv环境】
  • <RT1176系列11>DMAMUX解读
  • Spring AI 1.0 提供简单的 AI 系统和服务
  • TS面试题
  • 分布式IO详解:2025年分布式无线远程IO采集控制方案选型指南
  • simple-mock-proxy,自动拾取后端接口数据,生成本地mock接口与数据
  • idea启动java应用报错
  • keepalived原理及实战部署
  • vue怎么实现导入excel表功能
  • 最新!Polkadot 更新 2025 路线图
  • C++-关于协程的一些思考
  • ERC20 和 XCM Precompile|详解背后技术逻辑