【软件工具使用】docker快速入门指南

一些网站

参考:https://www.runoob.com/docker/docker-mirror-acceleration.html

在这里插入图片描述

Docker 备忘

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://6qtgv43f.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
 sudo docker run  -it  --name train_mnist \
 -v /etc/timezone:/etc/timezone \
 -v /etc/localtime:/etc/localtime \
 -v /home/clay/WorkSpace/_share:/home/workspace/_share  \
 --gpus all nvidia/cuda:11.1-base
#1 Miniconda安装,安装路径:/home/workspace/miniconda3
cd /home/workspace/_share
./Miniconda3-latest-Linux-x86_64.sh
#2 重启docker
exit
sudo docker ps -a //查看docker ID前两位,此处假如是dd
sudo docker start dd && sudo docker attach dd
## 3 换源
cd /home/workspace/_share
python oh-my-tuna.py

好像docker中只能换conda的源,所以需要手动换ubuntu的源,详细参考:https://blog.csdn.net/ReCclay/article/details/124807818

如果pip conda的源也未替换成功,可以参考这篇文章替换:https://blog.csdn.net/ReCclay/article/details/114027851

#4 更新
apt update 

update 错误记录:(开放了GPU的错误)

(base) root@ddd3e6a8a30e:/home/workspace/_share## apt update
Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease                                                                                
Hit:4 http://archive.ubuntu.com/ubuntu focal InRelease                                                                                          
Ign:2 https://developer.download.nvidia.cn/compute/machine-learning/repos/ubuntu2004/x86_64  InRelease
Get:1 https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64  InRelease [1581 B]
Err:1 https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64  InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
Hit:5 https://developer.download.nvidia.cn/compute/machine-learning/repos/ubuntu2004/x86_64  Release
Hit:7 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:8 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
W: GPG error: https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64  InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
#5 安装基础编译环境
apt install build-essential

Docker 安装

Docker 的旧版本被称为 docker,docker.io 或 docker-engine。当前称为 Docker Engine-Community 软件包 docker-ce 。安装教程参考:

Docker也是虚拟化环境的神器,前面说的conda虽然可以提供python的虚拟环境并方便地切换,但是有的时候我们的开发环境并不只是用到python,比如有的native库需要对应gcc版本的编译环境,或者进行交叉编译时哟啊安装很多工具链等等。如果这些操作都在服务器本地上进行,那时间久了就会让服务器的文件系统非常杂乱,而且还会遇到各种软件版本冲突问题。

Docker就可以很好地解决这些问题,它其实可以理解为就是一个非常轻量化的虚拟机,我们可以在宿主服务器上新建很多个这种被称为容器的虚拟机,然后在里面配置我们的开发环境,且这些配置好的环境是可以打包成镜像的,方便随时做分享和重用;不需要的时候,我们直接删除容器就好了,其资源是和我们的服务器宿主机完全隔离的。

Docker的具体使用可以自己搜索一下很多教程,这里主要介绍如何把GPU暴露给Docker的容器(因为大家都知道像是VMware这种虚拟机里面都是无法共享宿主机的GPU的),是通过nvidia-docker实现的。

以前为了配置nvidia-docker,需要安装完docker之后再安装单独的nvidia docker2,而现在只需要安装nvidia container toolkit即可,更加方便了。

  1. docker安装 官网上有详细的介绍:Install Docker Engine on Ubuntudocs.docker.com 或者运行下面的命令安装:
sudo apt-get update
sudo apt-get install docker.io
systemctl start docker
systemctl enable docker

可以运行这条命令检查是否安装成功:

docker version
  1. 安装NVIDIA Container Toolkit

在这里插入图片描述

官网安装步骤:NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUs (github.com) 或者直接运行下面的命令:

 ##首先要确保已经安装了nvidia driver
 
 ## 2. 添加源
 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
 ​
 ## 2. 安装并重启
 sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
 sudo systemctl restart docker

安装完成后可以新建一个容器测试一下:

sudo docker run -it --name test_nvidia_docker --gpus all nvidia/cuda:11.1-base 

其中最后的参数nvidia/cuda:11.1-base 是Nvidia官方的镜像,需要根据工作站主机中实际安装的cuda版本进行修改,版本可以用nvcc -V查看。

进入容器之后可以跑一下nvidia-smi命令看看:

在这里插入图片描述

现在可以在docker里面正常使用GPU啦~

Docker 基本命令使用

在这里插入图片描述

1,创建并启动容器

启动普通容器: docker run --name 别名 镜像ID(取ID前两个数就行)

启动交互式容器:docker run -it --name 别名 镜像ID 来运行一个容器,取别名,交互模式运行,以及分配一个伪终端

在这里插入图片描述

–name=“容器新名字”:为容器指定一个名称;

-i:以交互模式运行容器,通常与-t或者-d同时使用;(-d:后台运行容器)

-t:为容器重新分配一个伪输入终端,通常与-i同时使用;

从容器中出来:exit

在这里插入图片描述

2,列出容器

命令:docker ps [OPTIONS]

OPTIONS说明:

-a :显示所有的容器,包括未运行的。

-f :根据条件过滤显示的内容。

–format :指定返回值的模板文件。

-l :显示最近创建的容器。

-n :列出最近创建的n个容器。

–no-trunc :不截断输出。

-q :静默模式,只显示容器编号。

-s :显示总的文件大小。

我们这里先启动之前的容器,再来列出正在运行的容器:

在这里插入图片描述

docker ps 查看正在运行的容器

docker ps -a 查看所有容器

docker ps -n 2 显示最近创建的2个容器

docker ps -f status=exited 查看停止的容器

docker ps -a查看所有容器:
在这里插入图片描述

docker ps -n 2显示最近创建的2个容器:
在这里插入图片描述
docker ps -f status=exited 查看停止的容器
在这里插入图片描述

3,退出容器

exit 容器停止退出

ctrl+P+Q 容器不停止退出

在这里插入图片描述

我们来检验一下:

在这里插入图片描述

4,进入容器

比方说上面的我们已经退出容器,但是它依旧在运行,所以说我们又怎么样重新进去呢?

命令:docker attach 容器ID or 容器名

在这里插入图片描述

注意: attach命令,如果从这个容器退出,会导致容器的停止

除了上述命令可以进入容器,还有一个命令也可以进入容器:

docker exec

推荐使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止

5,启动容器

当容器停止了,我们也可以启动容器;

在这里插入图片描述

命令:docker start 容器ID or 容器名
在这里插入图片描述
我们再来看看容器的启动状态:

在这里插入图片描述

6,重启容器

命令:docker restart 容器ID or 容器名

在这里插入图片描述

7,停止容器

命令:docker stop 容器ID or 容器名

在这里插入图片描述

暴力删除,直接杀掉进程 (不推荐)

命令:docker kill 容器ID or 容器名

8,删除容器

命令: docker rm 容器ID

我们先来看看容器运行情况:

在这里插入图片描述

此时我们删掉mycentos1的话试试看:

在这里插入图片描述

如果删除正在运行的容器,会报错,我们假如需要删除的话,需要强制删除;

强制删除:docker rm -f 容器ID

在这里插入图片描述

Docker 镜像使用

1,列出镜像

docker images

docker images 各个参数选项说明:

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

2,获取镜像

docker pull xxx:版本号

获取相应版本号的xxx镜像,版本号可选

3,查找镜像

可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/

我们也可以使用 docker search 命令来搜索镜像:

docker search xxx

docker search 各个参数选项说明:

  • NAME: 镜像仓库源的名称
  • DESCRIPTION: 镜像的描述
  • OFFICIAL: 是否 docker 官方发布
  • stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
  • AUTOMATED: 自动构建。

4,删除镜像

删除镜像前记得需要先删除使用该镜像的容器!

docker rmi xxx

docker 存储位置更改

windows

Linux

{
  "registry-mirrors": ["https://6qtgv43f.mirror.aliyuncs.com"],
  "data-root": "/home/clay/software/docker"
}

参考

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Docker是一种开源的容器化平台,它允许开发者将应用程序和其依赖的环境打包到一个独立的容器中,并可以在任意环境中进行部署。以下是Docker快速入门步骤: 1. 首先,你需要安装Docker。你可以参考Docker官方文档或使用docker-install脚本来安装Docker。 2. 安装完成后,启动Docker并查看其状态。Docker有一个客户端和一个守护进程。客户端与守护进程进行通信来执行Docker命令。你可以运行以下命令来查看Docker的状态: ``` docker info ``` 3. 接下来,你可以开始使用Docker镜像。Docker镜像是一个只读的模板,用于创建Docker容器。你可以通过运行以下命令来搜索和下载Docker镜像: ``` docker search <image-name> docker pull <image-name> ``` 4. 一旦你下载了一个Docker镜像,你可以使用它来创建一个运行的容器容器是从镜像创建的可运行实例。你可以运行以下命令来创建并启动一个容器: ``` docker run <image-name> ``` 这将会在一个新的容器中运行指定的镜像。 5. 最后,你可以使用Docker Registry来存储和分享你的Docker镜像。Docker Registry是一个仓库,用于存储Docker镜像。当你使用docker push命令将镜像推送到Registry时,实际上是通过Docker守护进程与Registry进行通信。 这些是Docker快速入门步骤,希望对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Docker快速入门,看这个就够了](https://blog.csdn.net/qq_39578545/article/details/107741565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReCclay

如果觉得不错,不妨请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值