docker常见指令:
docker pull xxx 拉取某个镜像
docker run 运行某个镜像
# 列出本机正在运行的容器
$ docker container ls
# 列出本机所有容器,包括终止运行的容器
$ docker container ls --all
# 删除某个镜像
docker container rm [containerID]
#退出container
输入:exit
或者按键:
Ctrl + D
# 杀死container
docker kill [container_id]
# 已有未启动的container,重新进入
docker start [container_name]
# 使用“docker exec -it”命令进入container
docker exec -it [container_name] /bin/bash
# 常用的从image镜像创建container
docker run --cpus=8 -m 20g --shm-size 8g -v /data:/data -v /home:/home --gpus all --runtime=nvidia -p 16665:6665 -p 16666:6666 -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all -it --name=[定义的container名] pytorch/pytorch:1.9.0-cuda11.1-cudnn8-devel /bin/bash
docker run --shm-size 8g -v /data:/data -v /home:/home --gpus all --runtime=nvidia -p 16665:6665 -p 16666:6666 -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all -it --name=[定义的container名] pytorch/pytorch:1.9.0-cuda11.1-cudnn8-devel /bin/bash
docker run --shm-size 8g -v /data:/data -v /home:/home --gpus all --runtime=nvidia -p 16667:6667 -p 16668:6668 -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all -it --name=[定义的container名] /bin/bash
# 镜像/容器 导入导出
docker save -o images.tar postgres:9.6 mongo:3.4
# 打包之后的images.tar包含postgres:9.6和mongo:3.4这两个镜像。
# 将打包后的镜像载入进来使用docker load,例如:
docker load -i images.tar
# 上述命令将会把postgres:9.6和mongo:3.4载入进来,如果本地镜像库已经存在这两个镜像,将会被覆盖。
# 总结一下docker save和docker export的区别:
docker export -o postgres-export.tar postgres
# docker export需要指定container,不能像docker save那样指定image。
docker import postgres-export.tar postgres:latest
# 从上面的命令可以看出,docker import将container导入后会成为一个image,而不是恢复为一个container。另外一点是,docker import可以指定IMAGE[:TAG],说明我们可以为镜像指定新名称。如果本地镜像库中已经存在同名的镜像,则原有镜像的名称将会被剥夺,赋给新的镜像。原有镜像将成为孤魂野鬼,只能通过IMAGE ID进行操作。
####
# docker export的应用场景主要用来制作基础镜像,比如你从一个ubuntu镜像启动一个容器,然后安装一些软件和进行一些设置后,使用docker export保存为一个基础镜像。然后,把这个镜像分发给其他人使用,比如作为基础的开发环境。
# docker save保存的是镜像(image),docker export保存的是容器(container);
# docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;
# docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。
docker入门指令
于 2022-02-20 13:30:31 首次发布