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

发布于:2025-07-29 ⋅ 阅读:(34) ⋅ 点赞:(0)

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

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


网站公告

今日签到

点亮在社区的每一天
去签到