安装软件
装在C盘会容易满,可以装在D盘,
"path\to\Docker Desktop Installer.exe" install -accept-license --installation-dir=D:\Docker\Docker --wsl-default-data-root=D:\Docker\data
并且在软件的设置的Docker Engine里添加阿里镜像源,
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
"registry-mirrors": ["https://***.mirror.aliyuncs.com"]
查看docker 版本号信息
docker version
docker info
docker 镜像命令
查看自己服务器中docker 镜像列表
docker images
拉取镜像 不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本
docker pull 镜像名
docker pull 镜像名:tag
删除镜像 ------当前镜像没有被任何容器使用才可以删除
#删除一个
docker rmi -f 镜像名/镜像ID#删除多个 其镜像ID或镜像用用空格隔开即可
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID#删除全部镜像 -a 意思为显示全部, -q 意思为只显示ID
docker rmi -f $(docker images -aq)# 强制删除镜像
docker image rm 镜像名称/镜像ID
保存镜像到.tar
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
加载<镜像.tar>
docker load -i 镜像保存文件位置
添加一个新镜像来改tag
docker tag 源镜像名:TAG 想要生成新的镜像名:新的TAG
docker 容器命令
查看正在运行容器列表
docker ps
docker ps -a
新建一个容器
# -it 表示 与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行) --name 给要运行的容器 起的名字 /bin/bash 交互路径
docker run -it -d -p 宿主机端口:容器端口 --name 容器名 --gpus all 镜像名:Tag /bin/bash
\ -v 宿主机文件存储位置:容器内文件位置
\ --restart=always # 设置开机自启动
进入容器
# 启动容器
docker start 容器ID/容器名
# 重启容器
docker restart 容器ID/容器名
# 更换容器名
docker rename 容器ID/容器名 新容器名# 进入容器的两种方式
docker exec -it 容器名/容器ID /bin/bash
docker attach 容器名/容器ID
退出容器
#-----直接退出 未添加 -d(持久化运行容器) 时 执行此参数 容器会被关闭
exit
# 优雅退出 --- 无论是否添加-d 参数 执行此命令容器都不会被关闭
Ctrl + p + q
停止容器
docker stop 容器名/容器ID# kill容器
docker kill 容器ID/容器名
删除容器
#删除一个容器
docker rm -f 容器名/容器ID
#删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
#删除全部容器
docker rm -f $(docker ps -aq)
容器文件拷贝 —无论容器是否开启 都可以进行拷贝
#docker cp 容器ID/名称:文件路径 要拷贝到外部的路径 | 要拷贝到外部的路径 容器ID/名称:文件路径
#从容器内 拷出
docker cp 容器ID/名称: 容器内路径 容器外路径
#从外部 拷贝文件到容器内
docker cp 容器外路径 容器ID/名称: 容器内路径
dockerfile编写
把项目的代码比如./facechain文件夹放到和dockerfile同一级目录,
FROM nvidia/cuda:11.8.0-cudnn8-devel-ubuntu20.04ADD ./facechain /codeRUN apt update && \apt-get updateRUN apt install -y \wget build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev \libreadline-dev libffi-dev libsqlite3-dev libbz2-dev liblzma-dev vim && \apt clean && \rm -rf /var/lib/apt/lists/*RUN wget https://www.python.org/ftp/python/3.8.18/Python-3.8.18.tgz && \tar -xzvf Python-3.8.18.tgz && \mkdir python3RUN cd Python-3.8.18 && \./configure --enable-optimizations && \make && \make install RUN ln -s /usr/local/bin/python3 /usr/local/bin/python && \ln -s /usr/local/bin/pip3 /usr/local/bin/pipWORKDIR /codeRUN pip3 install -r requirements.txt && \pip3 install -U openmim && \mim install mmcv-full==1.7.0 && \rm -r /root/.cache/pip
镜像构建
docker build -t ImageName:TagName dir