Docker常用指令


Docker常用指令

远程镜像仓库

可以创建一个阿里云的镜像仓库参考这个教程或者百度

然后登录到该远程仓库:

docker login --username=雨天rain0510 registry.cn-qingdao.aliyuncs.com #这些指令你创建远程仓库后,仓库界面都会有的

基本指令

镜像相关

docker images 查看本地镜像
docker ps 查看当前活跃的容器
docker ps -a 查看所有容器
docker exec -it [CONTAINER ID] /bin/bash 进入到运行中/后台的容器
docker build -t 镜像名:镜像版本标签 . 根据dockerfile文件创建镜像,.指的就是在.下找dockerfile文件
docker pull nvcr.io/nvidia/pytorch:20.12-py3 从远程拉去镜像
docker push registry.cn-qingdao.aliyuncs.com/rainboy/nvidia-pytorch:20.12-py3.8 推送本地镜像到远程,注意这里本地镜像名和远程仓库地址相同
docker tag IMAGEID registry.cn-qingdao.aliyuncs.com/rainboy/nvidia-pytorch:20.12-py3.8 给已有的镜像重命名,重命名格式为(远程仓库名:版本号)
docker rmi IMAGEID 或者 docker rmi REPOSITORY:TAG 删除镜像,如果删不掉,先删除用这个镜像的容器
docker save -o aa.tar 镜像 将指定镜像保存为.tar文件
docker load -i aa.tar 加载.tar镜像文件

容器相关

docker run的详细解释

docker rm [CONTAINER ID] 删除容器
docker kill [CONTAINER ID] 结束正在运行的容器
docker run --gpus all -it --rm nvcr.io/nvidia/pytorch:xx.xx-py3 /bin/bash 运行镜像并进入容器(会创建一个与你镜像名相同的容器)(--gpus all 是会调用GPU)(-it加上后面的/bin/bash会以交互模式启动一个容器,并运行/bin/bash命令)(--rm会在容器退出时自动清理保存下来的容器系统文件)(也可以用--name指定容器名字)
docker run -p (主机)80:(容器)80 -v (主机)/data:/data -d nginx:latest 使用镜像 ,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data;(-d是以后台模式启动)
exit 退出正在运行的容器
docker commit 容器名 新镜像名:版本号 我们可以在容器中进行更改,比如安装一些东西,添加一些文件等,然后退出该容器,用docker ps -a 查看该容器的ID,然后可以将我们进行的修改保存为另一个新的镜像;也可以调试好了,在Dockerfile中进行修改,重新生成镜像;commit操作不仅会把有用的修改保存下来,对一些无关的修改也会保存下来(每一个命令行操作都会生成存储如ls操作)就会导致镜像比较臃肿;建议在Dockerfile中修改
docker rm 容器ID 删除容器
docker rm $(docker ps -aq) 删除所有容器,-aq是显示所有容器的ID
docker stop $(docker ps -q) 停用所有正在运行的容器

相关