概述
配置
使用nvidia-gpu
docker版本小于19.03时,需要额外使用nvidia-docker2软件包
Docker 19.03的发布,不需要使用nvidia-docker2软件包,
因为Docker运行时已将NVIDIA GPU作为设备本地支持,所以安装(或升级)docker版本>=19.03,
再安装nvidia-container-toolkit。
sudo apt-get instal docker
sudo apt-get install -y nvidia-container-toolkit
基本命令
# ---------------------------images-----------------------------
docker images # docker image ls # 查看所有的images
#下载image:tag,跨平台操作需要指定平台,x86上下载了一晚上的镜像在arm64上不能用,哭晕!
docker pull --platform aarch64 image_name:tag #--platform=arm64 ?
docker rmi <image-id> # 删除image镜像
# -------------------------------------------------------------
# *************************containers*****************************
docker ps -a # docker ps # 查看containers (正在运行的)
docker stop <container-name> # stop正在运行的container
docker rm <container-name> # remove系统中的container
docker run hello-world # 从image创建container, 如果local没有image,就从网上下载。
run: -it /bin/bash #-it interact with the shell / login shell as root
#-v map directory #ro read-only mode #-p map port
#--name give the container a name.
#-d detaches from command line (don't interact with container)
#nginx name of the image
docker run -v /full/path/to/host:/path/in/container:ro --name foo -p 8080:80 -d nginx
#指定--gps, 进去之后可以使用nvidia-smi, 否则‘bash: nvidia-smi: command not found’
docker run -it --rm --name test --gpus all nvidia/cuda:11.3.1-devel-ubuntu18.04 /bin/bash
docker exec -it container_name /bin/bash # 运行已经创建的container
# *****************************************************************
# save && load 把image保存为本地文件, 并重新加载
docker commit container_id image_name:tag # 保存容器为镜像
docker save -o file_name.tar image_name:tag #保存镜像到本地
docker load -i(nput) file_name.tar #本地文件恢复为镜像
docker save image_id > file_name.tar # 保存到本地镜像文件 file_name.tar
docker load < file_name.tar # 加载本地镜像文件 file_name.tar
docker tag image_id image_name:tag # 重新load的镜像重命名
# 查看更多命令
docker COMMAND --help
Create a customized image
#-t give a tag for the image.
#'.' look for the Dockerfile in the current directory.
docker build -t myappname .
#Dockerfile
FROM qci-python3 #必须指定一个base image
COPY
WORKDIR /app
ADD . /app
RUN pip install --trusted-host pypi.python.org Flask
ENV NAME World
CMD ["python", "app.py"]
...
基本配置(xiaomi-mace为例)
- 创建new container
# Create a container named `mace-dev`
docker run -it --privileged -d --name mace-dev
-v /dev/bus/usb:/dev/bus/usb --net=host
-v /local/path:/container/path
-v /usr/bin/docker:/usr/bin/docker
-v /var/run/docker.sock:/var/run/docker.sock
registry.cn-hangzhou.aliyuncs.com/xiaomimace/mace-dev-lite
以上是官方文档给的命令, -v /path/to/host/folder:/path/to/docker/folder
不改变上面命令, 添加自己指定的挂载目录, -v /home/***/**:/home/****
# Create a container named `mace-dev`
docker run -it --privileged -d --name mace-dev
-v /home/***/**/:/home/****
-v /dev/bus/usb:/dev/bus/usb --net=host
-v /local/path:/container/path
-v /usr/bin/docker:/usr/bin/docker
-v /var/run/docker.sock:/var/run/docker.sock
registry.cn-hangzhou.aliyuncs.com/xiaomimace/mace-dev-lite
-
Create成功, exec
docker ps 查看containers
# Execute an interactive bash shell on the container
docker exec -it mace-dev /bin/bash
最后
以上就是爱撒娇音响为你收集整理的Docker常用方法的全部内容,希望文章能够帮你解决Docker常用方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复