Docker最基本使用

本文介绍Docker的基本安装步骤、常用命令及如何使用GPU支持的镜像。包括安装、测试、查看镜像与容器状态、下载特定CUDA支持的镜像、配置代理、运行容器、文件共享、启动与停止容器以及保存和导出容器镜像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 安装:

sudo apt-get -y install docker.io

测试:

sudo docker run hello-world

成功:

Hello from Docker!
This message shows that your installation appears to be working correctly.

2 查看

查看已有镜像:

sudo docker images

查看所有容器

sudo docker ps -a

3 下载镜像

下载CUDA docker

1、宿主机需要安装依赖支持CUDA:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

2、安装

sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

3、dockerhub这个能有nvcc -V,pytorch等安装的cuda都没有nvcc,只有cudatoolkit.

sudo docker pull nvidia/cuda:11.0.3-devel-ubuntu20.04
sudo docker pull nvidia/cuda:11.8.0-devel-ubuntu20.04

4、docker 代理:

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo touch /etc/systemd/system/docker.service.d/http-proxy.conf
sudo gedit /etc/systemd/system/docker.service.d/http-proxy.conf

添加(这些端口号和IP是从代理中获取的):

[Service]
Environment="HTTP_PROXY=127.0.0.1:8889/"
Environment="HTTPS_PROXY=127.0.0.1:8889/"

重启:

sudo systemctl daemon-reload
sudo systemctl restart docker

4 运行

从镜像中创建一个新的容器:

sudo docker run -it --gpus all --net=host --name your_container_name your_image_name:v1

文件夹共享:

sudo docker run -it  -v  /your_dir:/docker_dir --gpus all --net=host --name your_container_name your_image_name:v1

启动一个旧的容器:

sudo docker start your_container_name 
sudo docker exec -it your_container_name /bin/bash

启动时自动执行脚本:

sudo docker exec -it your_container_name /bin/bash -c "tmuxinator sample"

文件夹拷贝:

docker  cp /your_dir your_container_name:/docker_dir

关闭容器、删除容器

sudo docker stop your_container_name 
sudo docker rm your_container_name 

其他:
在docker内使用rviz等图形界面

xhost +local:
sudo docker run -it --gpus all --net=host --privileged --volume=/tmp/.X11-unix:/tmp/.X11-unix --env="DISPLAY=$DISPLAY" --name your_container_name your_image_name:v1

在docker内使用unity等图形界面,还需额外安装:

apt-get install -y libgl1-mesa-glx libgl1-mesa-dri x11-apps

顺带说 ,ssh远程登录界面开启可视化到本地:

ssh -Y username@remote_host

5 保存容器为镜像,导出加载

保存为文件

sudo docker commit your_container_name your_image_name:v2

导出、加载

docker save -o your_file_name.tar your_image_name:v1
docker load -i your_file_name.tar	

删除镜像

docker rmi <image_name_or_id>
<think>嗯,用户想找Docker基本使用教程,特别是针对新手的入门指南。首先,我需要整理一下用户提供的引用内容,看看里面有哪些有用的信息。引用1提到了docker build命令和--no-cache选项,引用2介绍了Docker的基础是LXC,启动快,资源利用率高,引用3提到了Dockerfile环境变量设置和启动容器的命令。 用户的需求很明确,他们需要基础的使用教程,所以应该从安装开始,然后介绍基本概念,再逐步讲解常用命令。根据引用3的内容,启动容器用的是docker run,这部分需要详细说明。同时,构建镜像的docker build在引用1和引用3都有涉及,应该包含进去。另外,引用2提到Docker的优势,可以在教程开头简要说明,帮助新手理解为什么使用Docker。 可能还需要包括镜像管理、容器操作、网络和数据卷这些基础内容。用户是新手,所以步骤要清晰,命令示例要具体,比如运行一个Nginx容器,如何映射端口。此外,常见问题比如如何查看日志、进入容器终端也很重要。后,提供一个简单的Dockerfile示例,并解释每个指令的作用,这样用户能理解如何自定义镜像。 需要确保所有命令格式正确,使用中文解释,避免专业术语过多。同时,按照用户的要求,行内数学表达式用$...$,不过这里可能用不上数学公式,但代码块要用正确的标记。后,生成相关问题,可能涉及Docker的优势、常用命令、Dockerfile编写、容器虚拟机的区别,以及问题排查方法。检查引用标注是否正确,确保每个引用都对应正确的来源,比如引用1关于构建镜像,引用2关于基础概念,引用3关于启动命令和环境变量设置。</think>### Docker 基本使用教程(新手入门指南) #### 一、Docker 核心概念 1. **镜像(Image)** 预配置的静态模板,包含运行环境和应用程序,例如 Ubuntu 20.04 基础镜像或 Nginx 服务镜像[^2]。 2. **容器(Container)** 镜像的运行实例,具备独立文件系统和网络配置,通过 `docker run` 命令启动[^3]。 3. **Dockerfile** 文本文件定义镜像构建步骤,包含 `FROM`、`COPY`、`RUN` 等指令[^1]。 #### 二、基础操作步骤 1. **安装验证** ```bash # Ubuntu 系统安装 sudo apt-get install docker.io # 验证安装 docker --version ``` 2. **镜像管理** ```bash # 拉取镜像(以 Ubuntu 为例) docker pull ubuntu:20.04 # 查看本地镜像 docker images # 构建镜像(需提前编写 Dockerfile) docker build -t my_image:v1 . --no-cache=true # --no-cache 强制重新构建 ``` 3. **容器操作** ```bash # 启动容器(运行 Nginx 并映射端口) docker run -d -p 80:80 --name my_nginx nginx # 查看运行中的容器 docker ps # 停止容器 docker stop my_nginx # 进入容器终端 docker exec -it my_nginx /bin/bash ``` 4. **数据持久化网络** ```bash # 挂载主机目录到容器 docker run -v /host/path:/container/path ubuntu # 创建自定义网络 docker network create my_network ``` #### 三、Dockerfile 示例 ```dockerfile FROM python:3.8-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . CMD ["python", "app.py"] ``` #### 四、常用调试命令 ```bash # 查看容器日志 docker logs my_nginx # 监控资源使用 docker stats # 删除无用镜像 docker image prune ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值