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 attach 容器id | 这种方法进入容器会存在一个问题,当多个终端同时进入容器时,所有窗口会同步显示,所以不太适合生产环境使用 |
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 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) |
停用所有正在运行的容器 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!